Experiment & contact info
PIs: Rosalie Sears (searsr@ohsu.edu), Laura Heiser (heiserl@ohsu.edu)
Sample preparation: Zinab Doha (dohaz@ohsu.edu)
Library prep from single cells: Xi Li & Colin Daniel (danielc@ohsu.edu)
Analysis: Nick Calistri (calistri@ohsu.edu)
Sequencing performed by OHSU MPSSR
Analysis design
Load each experiment individually
Perform hashtag demultiplexing on each library individually
Identify doublets with DoubletFinder
Save so_list as .rds file
Set up
Load libraries
library(Matrix)
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.6 v dplyr 1.0.8
## v tidyr 1.2.0 v stringr 1.4.0
## v readr 2.1.2 v forcats 0.5.1
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.2
## Warning: package 'readr' was built under R version 4.1.2
## Warning: package 'dplyr' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x tidyr::expand() masks Matrix::expand()
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
## x tidyr::pack() masks Matrix::pack()
## x tidyr::unpack() masks Matrix::unpack()
library(Seurat)
## Warning: package 'Seurat' was built under R version 4.1.2
## Registered S3 method overwritten by 'spatstat.geom':
## method from
## print.boxx cli
## Attaching SeuratObject
library(rliger)
## Loading required package: cowplot
## Loading required package: patchwork
##
## Attaching package: 'patchwork'
## The following object is masked from 'package:cowplot':
##
## align_plots
library(SeuratWrappers)
library(ggalluvial)
library(DoubletFinder)
library(SoupX)
## Warning: package 'SoupX' was built under R version 4.1.2
Set a seed
set.seed(1)
Mouse/tumor stats from README metadata file
# Read in readme with HTO and tumor ID
lib_meta <- read_csv('original_data/README.csv')
## Rows: 78 Columns: 12
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr (11): exa_dir, mpssr_seq_run_name, mpssr_library_name, library_suffix, c...
## lgl (1): feature_barcodes
##
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Add the run_library variable
lib_meta <- lib_meta %>%
mutate(run_library = paste0(mpssr_seq_run_name,
'_',
mpssr_library_name,
str_replace_na(library_suffix, replacement = '')))
lib_meta$mouse_id <- str_split(lib_meta$condition_string, pattern = '_', simplify = TRUE)[,1]
lib_meta$phenotype <- str_replace(lib_meta$mouse_id, pattern = "[:digit:]+", "")
# Calculate how many mice/tumors/phenotypes are represented
n_mice <- unique(lib_meta$mouse_id) %>%
length()
n_phenotype <- lib_meta %>%
dplyr::select(condition_string, phenotype) %>%
distinct() %>%
dplyr::select(phenotype) %>%
table()
n_tumors <- sum(n_phenotype)
knitr::kable(tibble(n_mice = n_mice,
n_tumors = n_tumors))
| n_mice | n_tumors |
|---|---|
| 23 | 39 |
knitr::kable(n_phenotype)
| . | Freq |
|---|---|
| DT | 5 |
| PD | 6 |
| R | 7 |
| S | 9 |
| S/R3 | 1 |
| V | 11 |
lib_meta %>%
dplyr::select(histology) %>%
table() %>%
knitr::kable()
| . | Freq |
|---|---|
| SP | 8 |
| SR | 14 |
tumor_histology_dict <- lib_meta %>%
dplyr::select(condition_string, histology) %>%
distinct()
tumor_histology_dict %>%
knitr::kable()
| condition_string | histology |
|---|---|
| V3_T1 | SP |
| V3_T2 | SP |
| V4 | SP |
| S3 | NA |
| V5 | SR |
| R2 | NA |
| S4 | NA |
| V6_T1 | SR |
| V6_T2 | SR |
| V6_T3 | SR |
| S6/R3 | NA |
| S5 | NA |
| V7_T1 | SR |
| V7_T2 | SR |
| V7_T3 | SR |
| S7_T1 | NA |
| S7_T2 | NA |
| S8_T2 | NA |
| S9_T1 | NA |
| S9_T2 | NA |
| R4_T1 | NA |
| R4_T2 | NA |
| R4_T3 | NA |
| R5_T1 | NA |
| R5_T2 | NA |
| R5_T3 | NA |
| S8_T1 | NA |
| PD1_T1 | NA |
| PD2_T1 | NA |
| PD3_T1 | NA |
| PD4_T1 | NA |
| PD5_T1 | NA |
| PD6_T1 | NA |
| DT_T1 | NA |
| DT_T2 | NA |
| DT_T3 | NA |
| DT_T4 | NA |
| DT_T5 | NA |
| V8_T1 | SP |
Load data & HTO demultiplex
Arguments and settings
use_df <- TRUE # Use DoubletFinder on each library?
use_soupx <- TRUE # Use SoupX to remove ambient RNA from cell containing droplets?
Load data
has_histo <- lib_meta %>%
filter(! is.na(histology)) %>%
mutate(local_dir = paste0('original_data/', run_library)) %>%
dplyr::select(local_dir) %>%
pull()
data_dirs <- grep(list.dirs(path = 'original_data', recursive = FALSE), pattern = '^original_data/SCL*', value = TRUE)
# Filter to just the directories with histology characterizing stromal poor (SP) versus stromal rich (SR)
data_dirs <- data_dirs[data_dirs %in% has_histo]
so_list <- list()
for(i in 1:length(data_dirs)){
print(paste0('Loading data for directory ', i, ' of ', length(data_dirs), '.'))
print(paste0('Current directory is ', data_dirs[i], '.'))
# Identify current directory and extract minimal experimental identifier as 'library#_preparer'
curr_dir <- data_dirs[i]
curr_lib <- str_remove(curr_dir, pattern = 'original_data/')
# Read 10X information, create seurat object and add HTO as additional assay
temp_10x <- Read10X(paste0(data_dirs[i], '/filtered_feature_bc_matrix/'))
if(use_soupx){
sc <- load10X(curr_dir)
sc <- autoEstCont(sc)
out <- adjustCounts(sc)
temp_so <- CreateSeuratObject(out[,colnames(out) %in% colnames(temp_10x$`Gene Expression`)], project = 'sears_histology')
}else{
temp_so <- CreateSeuratObject(temp_10x$`Gene Expression`, project = 'sears_histology')
}
temp_so[['HTO']] <- CreateAssayObject(counts = temp_10x$`Antibody Capture`)
temp_so[['library_id']] <- curr_lib
so_list[[i]] <- temp_so
}
## [1] "Loading data for directory 1 of 10."
## [1] "Current directory is original_data/SCL210602RS_GEX1_Lib_CD_reseq-hto."
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading raw count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading cell-only count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading extra analysis data where available
## 1683 genes passed tf-idf cut-off and 754 soup quantile filter. Taking the top 100.
## Using 487 independent estimates of rho.
## Estimated global rho of 0.01
## Warning in sparseMatrix(i = out@i[w] + 1, j = out@j[w] + 1, x = out@x[w], :
## 'giveCsparse' has been deprecated; setting 'repr = "T"' for you
## Expanding counts from 10 clusters to 3415 cells.
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
## [1] "Loading data for directory 2 of 10."
## [1] "Current directory is original_data/SCL210602RS_GEX1_Lib_XL_reseq-hto."
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading raw count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading cell-only count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading extra analysis data where available
## 547 genes passed tf-idf cut-off and 491 soup quantile filter. Taking the top 100.
## Using 480 independent estimates of rho.
## Estimated global rho of 0.03
## Warning in sparseMatrix(i = out@i[w] + 1, j = out@j[w] + 1, x = out@x[w], :
## 'giveCsparse' has been deprecated; setting 'repr = "T"' for you
## Expanding counts from 14 clusters to 9904 cells.
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
## [1] "Loading data for directory 3 of 10."
## [1] "Current directory is original_data/SCL210602RS_GEX2_Lib_CD_reseq-hto."
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading raw count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading cell-only count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading extra analysis data where available
## 1881 genes passed tf-idf cut-off and 800 soup quantile filter. Taking the top 100.
## Using 523 independent estimates of rho.
## Estimated global rho of 0.01
## Warning in sparseMatrix(i = out@i[w] + 1, j = out@j[w] + 1, x = out@x[w], :
## 'giveCsparse' has been deprecated; setting 'repr = "T"' for you
## Expanding counts from 10 clusters to 3103 cells.
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
## [1] "Loading data for directory 4 of 10."
## [1] "Current directory is original_data/SCL210602RS_GEX2_Lib_XL_reseq-hto."
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading raw count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading cell-only count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading extra analysis data where available
## 219 genes passed tf-idf cut-off and 182 soup quantile filter. Taking the top 100.
## Using 528 independent estimates of rho.
## Estimated global rho of 0.05
## Warning in sparseMatrix(i = out@i[w] + 1, j = out@j[w] + 1, x = out@x[w], :
## 'giveCsparse' has been deprecated; setting 'repr = "T"' for you
## Expanding counts from 14 clusters to 8723 cells.
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
## [1] "Loading data for directory 5 of 10."
## [1] "Current directory is original_data/SCL210816RS_GEX1_Lib_RUN4_reseq-hto."
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading raw count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading cell-only count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading extra analysis data where available
## 1145 genes passed tf-idf cut-off and 504 soup quantile filter. Taking the top 100.
## Using 936 independent estimates of rho.
## Estimated global rho of 0.07
## Warning in sparseMatrix(i = out@i[w] + 1, j = out@j[w] + 1, x = out@x[w], :
## 'giveCsparse' has been deprecated; setting 'repr = "T"' for you
## Expanding counts from 22 clusters to 20450 cells.
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
## [1] "Loading data for directory 6 of 10."
## [1] "Current directory is original_data/SCL210816RS_GEX1_Lib_RUN5_reseq-hto."
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading raw count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading cell-only count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading extra analysis data where available
## 3216 genes passed tf-idf cut-off and 1617 soup quantile filter. Taking the top 100.
## Using 760 independent estimates of rho.
## Estimated global rho of 0.07
## Warning in sparseMatrix(i = out@i[w] + 1, j = out@j[w] + 1, x = out@x[w], :
## 'giveCsparse' has been deprecated; setting 'repr = "T"' for you
## Expanding counts from 17 clusters to 13394 cells.
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
## [1] "Loading data for directory 7 of 10."
## [1] "Current directory is original_data/SCL210816RS_GEX2_Lib_RUN4_reseq-hto."
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading raw count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading cell-only count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading extra analysis data where available
## 1424 genes passed tf-idf cut-off and 539 soup quantile filter. Taking the top 100.
## Using 657 independent estimates of rho.
## Estimated global rho of 0.05
## Warning in sparseMatrix(i = out@i[w] + 1, j = out@j[w] + 1, x = out@x[w], :
## 'giveCsparse' has been deprecated; setting 'repr = "T"' for you
## Expanding counts from 18 clusters to 17905 cells.
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
## [1] "Loading data for directory 8 of 10."
## [1] "Current directory is original_data/SCL210816RS_GEX2_Lib_RUN5_reseq-hto."
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading raw count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading cell-only count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading extra analysis data where available
## 4443 genes passed tf-idf cut-off and 2025 soup quantile filter. Taking the top 100.
## Using 1028 independent estimates of rho.
## Estimated global rho of 0.07
## Warning in sparseMatrix(i = out@i[w] + 1, j = out@j[w] + 1, x = out@x[w], :
## 'giveCsparse' has been deprecated; setting 'repr = "T"' for you
## Expanding counts from 19 clusters to 13089 cells.
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
## [1] "Loading data for directory 9 of 10."
## [1] "Current directory is original_data/SCL211208RS_GEX1."
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading raw count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading cell-only count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading extra analysis data where available
## 984 genes passed tf-idf cut-off and 586 soup quantile filter. Taking the top 100.
## Using 616 independent estimates of rho.
## Estimated global rho of 0.11
## Warning in sparseMatrix(i = out@i[w] + 1, j = out@j[w] + 1, x = out@x[w], :
## 'giveCsparse' has been deprecated; setting 'repr = "T"' for you
## Expanding counts from 24 clusters to 30336 cells.
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
## [1] "Loading data for directory 10 of 10."
## [1] "Current directory is original_data/SCL211208RS_GEX2."
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading raw count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading cell-only count data
## 10X data contains more than one type and is being returned as a list containing matrices of each type.
## Loading extra analysis data where available
## 529 genes passed tf-idf cut-off and 290 soup quantile filter. Taking the top 100.
## Using 349 independent estimates of rho.
## Estimated global rho of 0.09
## Warning in sparseMatrix(i = out@i[w] + 1, j = out@j[w] + 1, x = out@x[w], :
## 'giveCsparse' has been deprecated; setting 'repr = "T"' for you
## Expanding counts from 20 clusters to 29872 cells.
## Warning: Feature names cannot have underscores ('_'), replacing with dashes
## ('-')
temp_10x <- temp_so <- NULL
gc()
## used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 5419840 289.5 10882860 581.3 10882860 581.3
## Vcells 400373842 3054.7 871419428 6648.5 871095939 6646.0
HTO demultiplexing
Note: this is done on a per-library basis as different HTOs were used across the experiments. Could do this per experiment, as the cells were split into two libraries per experiment, but keeping it individual for now.
HTO ‘expression’ is the center log ratio, which for any given HTO feature is: \[HTO.1_{exp} = ln{(\frac{HTO.1.count}{geometric.mean(HTO.1 , ... HTO.n)})}\]
for(i in 1:length(so_list)){
if(length(unique(so_list[[i]]$library_id)) == 1){
print(paste0('HTO demultiplexing library ', i, ' of ', length(so_list)))
print(paste0('Current library: ', unique(so_list[[i]]$library_id)))
curr_so <- so_list[[i]]
# Extract relevant meta from README file
curr_meta <- lib_meta %>%
filter(run_library == unique(curr_so$library_id)) %>%
arrange(condition_hto)
# Remove any barcodes that had no HTO
orig_cell_count <- ncol(curr_so)
curr_so <- subset(curr_so, subset = nCount_HTO > 0)
print(paste0('Removed ', orig_cell_count - ncol(curr_so), ' barcodes for having zero HTO counts'))
# CLR normalize HTO counts and demultiplex
curr_so <- NormalizeData(curr_so,
assay = 'HTO',
normalization.method = 'CLR')
curr_so <- ScaleData(curr_so,
assay = 'HTO')
curr_so <- RunPCA(curr_so,
features = rownames(curr_so@assays$HTO@counts),
assay = 'HTO')
curr_so <- RunTSNE(curr_so,
reduction = 'pca',
assay = 'HTO',
check_duplicates = FALSE,
perplexity = 100,
dims = 1:ncol(curr_so@reductions$pca@feature.loadings))
curr_so <- HTODemux(curr_so,
assay = 'HTO',
positive.quantile = 0.95,
kfunc = 'clara')
# Add HTO_count entropy to metadata
curr_so@meta.data$hto_count_entropy <- apply(X = curr_so@assays$HTO@counts,
FUN = entropy::entropy,
MARGIN = 2,
unit = 'log2',
method = 'ML')
curr_so@meta.data$hto_data_entropy <- apply(X = curr_so@assays$HTO@data,
FUN = entropy::entropy,
MARGIN = 2,
unit = 'log2',
method = 'ML')
VlnPlot(curr_so, features = c('hto_count_entropy'))
VlnPlot(curr_so, features = c('hto_data_entropy'))
#Visualize HTO expression
p1 <- RidgePlot(curr_so,
features = row.names(curr_so@assays$HTO@counts), assay = 'HTO',
ncol = 1)
p2 <- HTOHeatmap(curr_so, assay = 'HTO')
p3 <- FeatureScatter(curr_so,
feature1 = 'nCount_HTO',
feature2 = 'nCount_RNA',
pt.size = 0.1,
group.by = 'HTO_classification.global')+
scale_x_log10()+
scale_y_log10()
p4 <- DimPlot(curr_so,
reduction = 'pca')+
coord_equal()
p5 <- DimPlot(curr_so,
reduction = 'tsne')+
coord_equal()
print(p1)
print(p2)
print(p3)
print(p4)
print(p5)
# Automatically rename hash.id to tumor id, where index is preserved (ie HTO = T1, HTO.1 = T2 ... HTO.N = T(N+1))
tumor_id <- c('Negative', 'Doublet', curr_meta$condition_string)
tumor_index <- c('Negative', 'Doublet', paste0('L', i, '_', 'T', 1:nrow(curr_so@assays$HTO)))
hto_ids <- c('Negative', 'Doublet', sort(as.character(unique(curr_so@meta.data$hash.ID)[-c(grep(unique(curr_so@meta.data$hash.ID), pattern = 'Doublet'), grep(unique(curr_so@meta.data$hash.ID), pattern = 'Negative'))])))
curr_so@meta.data$tumor_index <- plyr::mapvalues(x = curr_so@meta.data$hash.ID,
from = hto_ids,
to = tumor_index)
curr_so@meta.data$tumor <- plyr::mapvalues(x = curr_so@meta.data$hash.ID,
from = hto_ids,
to = tumor_id)
# show table of cell counts per HTO assignment
curr_so@meta.data %>%
dplyr::select(hash.ID, tumor) %>%
table() %>%
knitr::kable()
# Run DoubletFinder on the library
if(use_df == TRUE){
# Preprocess so for DoubletFinder
curr_so <- NormalizeData(curr_so)
curr_so <- FindVariableFeatures(curr_so,
selection.method = 'vst',
nfeatures = 2000)
curr_so <- ScaleData(curr_so)
curr_so <- RunPCA(curr_so)
curr_so <- FindNeighbors(curr_so)
curr_so <- FindClusters(curr_so, resolution = 0.4)
# pK identification (no ground-truth)
sweep.curr_so <- paramSweep_v3(curr_so,
PCs = 1:10,
sct = FALSE)
sweep.stats.curr_so <- summarizeSweep(sweep.curr_so, GT = FALSE)
bcmvn.curr_so <- find.pK(sweep.stats.curr_so)
max_pk <- as.numeric(as.character(bcmvn.curr_so$pK[which.max(bcmvn.curr_so$BCmetric)])) #Converting from factor to numeric is weird, but this is a recommended method
# Homotypic doublet proportion estimate
homotypic.prop <- modelHomotypic(curr_so@meta.data$seurat_clusters)
nExp_poi <- round(0.075*nrow(curr_so@meta.data))
curr_so <- doubletFinder_v3(curr_so,
PCs = 1:10,
pN = 0.25,
pK = max_pk,
nExp = nExp_poi,
reuse.pANN = FALSE,
sct = FALSE)
colnames(curr_so@meta.data)[ncol(curr_so@meta.data)] <- 'DF.classifications'
colnames(curr_so@meta.data)[ncol(curr_so@meta.data) - 1] <- 'DF.pANN'
# Visualize doublets
curr_so <- RunUMAP(curr_so,
dims = 1:20)
umap1 <- DimPlot(curr_so, group.by = 'tumor')+
coord_equal()
umap2 <- DimPlot(curr_so, group.by = colnames(curr_so@meta.data)[ncol(curr_so@meta.data)])+
coord_equal()
umap3 <- FeaturePlot(curr_so, features = colnames(curr_so@meta.data)[ncol(curr_so@meta.data) - 1])+
coord_equal()
print(umap1)
print(umap2)
print(umap3)
}
# Stash the HTO demultiplexed seurat object back into the list
so_list[[i]] <- curr_so
}else {
print(paste0('Error HTO demultiplexing library # ', i))
print(paste0('Multiple library IDs detected: ', unique(so_list[[i]]$library_id)))
}
}
## [1] "HTO demultiplexing library 1 of 10"
## [1] "Current library: SCL210602RS_GEX1_Lib_CD_reseq-hto"
## [1] "Removed 0 barcodes for having zero HTO counts"
## Normalizing across features
## Centering and scaling data matrix
## Warning in irlba(A = t(x = object), nv = npcs, ...): You're computing too large
## a percentage of total singular values, use a standard svd instead.
## Warning in print.DimReduc(x = reduction.data, dims = ndims.print, nfeatures =
## nfeatures.print): Only 2 dimensions have been computed.
## Warning: Requested number is larger than the number of available items (3).
## Setting to 3.
## Warning: Requested number is larger than the number of available items (3).
## Setting to 3.
## PC_ 1
## Positive: HTO1-Lib-CD-HTO2-Lib-CD.2, HTO1-Lib-CD-HTO2-Lib-CD.1
## Negative: HTO1-Lib-CD-HTO2-Lib-CD
## PC_ 2
## Positive: HTO1-Lib-CD-HTO2-Lib-CD.2, HTO1-Lib-CD-HTO2-Lib-CD
## Negative: HTO1-Lib-CD-HTO2-Lib-CD.1
## Cutoff for HTO1-Lib-CD-HTO2-Lib-CD : 119 reads
## Cutoff for HTO1-Lib-CD-HTO2-Lib-CD.1 : 99 reads
## Cutoff for HTO1-Lib-CD-HTO2-Lib-CD.2 : 1 reads
## Warning in HTOHeatmap(curr_so, assay = "HTO"): ncells (5000) is larger than the
## number of cells present in the provided object (3415). Plotting heatmap for all
## cells.
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.
## Picking joint bandwidth of 0.202
## Picking joint bandwidth of 0.213
## Picking joint bandwidth of 0.0737
## Centering and scaling data matrix
## PC_ 1
## Positive: Fstl1, Aebp1, Serpinf1, Mmp2, Ccdc80, Col3a1, Dcn, Fbn1, Col1a2, Col6a1
## Serpinh1, Col5a2, Bgn, Serping1, Sparc, Prrx1, Pcolce, Lum, Col6a2, Adamts2
## Rcn3, Loxl1, Fxyd1, Ppic, Lox, Ctsk, Col1a1, Mmp14, C1ra, Timp2
## Negative: Lcn2, Car6, Epcam, Scgb2b27, 2310057J18Rik, Wfdc18, Krt18, Csn3, Kcnn4, Krt8
## Gm26917, Plet1, Spint2, Bcl2a1b, Cytip, Ehf, Trf, Rgs1, Thrsp, Folr1
## Cldn3, Il1b, Scgb1b27, Hmgb2, Aqp5, 5330417C22Rik, Car12, Pigr, Tesc, Ano1
## PC_ 2
## Positive: Ctss, Bcl2a1b, Cd74, Rgs1, Cytip, Il1b, Cst3, Vim, H2-Ab1, H2-Aa
## Mpeg1, Lst1, Lyz2, Ms4a6c, Lgals3, Tgfbi, S100a6, Cybb, H2-DMa, Nr4a3
## S100a4, Csf1r, Aif1, Cd83, Gpr183, Nlrp3, Ccrl2, Wfdc17, Cd300c2, Pld4
## Negative: Cldn3, Aqp5, Krt18, Epcam, Plet1, Folr1, Krt8, Spint2, Ehf, Slc12a2
## Pgp, Lcn2, Tspan8, Cldn7, Me1, Galnt3, Wfdc18, Xbp1, Fxyd3, Rab25
## Thrsp, Elf5, Ano1, Prxl2a, Ncald, Chpt1, Tpd52l1, Car6, Cystm1, 1500002F19Rik
## PC_ 3
## Positive: Gm26917, Col1a1, Igkc, Sparc, Col1a2, Col4a1, Col3a1, Mgp, Igfbp7, Col4a2
## Col7a1, Col12a1, Ecrg4, Igfbp3, Col6a3, Hmcn1, Crabp1, Mylk, Cdh5, Piezo2
## Egfl7, Tnc, Bgn, Col5a1, Adgrf5, Flt1, Tnn, Col11a1, Gng11, Igha
## Negative: Ctss, Cd74, H2-Ab1, Ifi30, H2-DMa, Aif1, H2-Aa, Ms4a6c, H2-DMb1, Pld4
## Gatm, Cxcl16, Csf1r, Cybb, Ly86, Mpeg1, Hexb, H2-Eb1, Cd83, Ctsc
## Lyz2, Slamf9, Cd68, Cd300c2, Cx3cr1, Fcgr1, C1qb, C1qc, Cd72, Cd86
## PC_ 4
## Positive: Il2rb, Ctsw, Ptprcap, Nkg7, AW112010, Xcl1, Cd3g, Cd7, Itgae, Cd226
## Inpp4b, Trbc2, Gzmb, Top2a, Ctla2a, Gimap4, Klra5, Pclaf, Dut, Klrd1
## Klrk1, Gimap3, Cd3e, Smc2, Stmn1, Ctla2b, Txk, Smc4, Ncr1, Car2
## Negative: Clec4d, S100a9, S100a8, Clec4e, Nlrp3, Cxcl2, Slc7a11, Csf3r, Hdc, Trem1
## Il1b, Acod1, Wfdc17, Ccrl2, Cxcr2, Il1rn, Fpr2, G0s2, Pla2g7, Ifitm1
## Il1f9, Wfdc21, Il1r2, Mirt2, Mcemp1, Hp, Fpr1, Igsf6, Stfa2l1, Mmp9
## PC_ 5
## Positive: Ecrg4, Il17b, Col11a1, Edil3, Col8a1, Epha3, Slc7a2, Igfbp2, Matn2, Tnn
## Ptn, Matn4, Ctsc, Cox4i2, Tpm2, Clec11a, Plpp1, Megf6, Vcam1, Spp1
## Fmod, Kazald1, Grb14, Rerg, Mgp, Col12a1, Inhba, Robo2, Cst3, Ncam1
## Negative: Pcolce2, Efemp1, Tnxb, Ccl11, Clec3b, Opcml, Dpt, Ifi205, Mfap5, Itih5
## Adgrd1, Sfrp4, C4b, Pi16, Pla1a, Lrrn4cl, Scara5, Nova1, Col14a1, Sema3c
## Medag, Cd34, Dpp4, Vegfd, Spon2, Rarres2, Ly6c1, Tmem100, Slc4a4, Pamr1
## Computing nearest neighbor graph
## Computing SNN
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 3415
## Number of edges: 96881
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9333
## Number of communities: 13
## Elapsed time: 0 seconds
## Loading required package: fields
## Loading required package: spam
## Warning: package 'spam' was built under R version 4.1.2
## Spam version 2.8-0 (2022-01-05) is loaded.
## Type 'help( Spam)' or 'demo( spam)' for a short introduction
## and overview of this package.
## Help for individual functions is also obtained by adding the
## suffix '.spam' to the function name, e.g. 'help( chol.spam)'.
##
## Attaching package: 'spam'
## The following object is masked from 'package:Matrix':
##
## det
## The following objects are masked from 'package:base':
##
## backsolve, forwardsolve
## Loading required package: viridis
## Loading required package: viridisLite
##
## Try help(fields) to get started.
## [1] "Creating artificial doublets for pN = 5%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 10%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 15%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 20%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 25%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 30%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## Loading required package: KernSmooth
## KernSmooth 2.23 loaded
## Copyright M. P. Wand 1997-2009
## Loading required package: ROCR
## NULL
## [1] "Creating 1138 artificial doublets..."
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Computing pANN..."
## [1] "Classifying doublets.."
## Warning: The default method for RunUMAP has changed from calling Python UMAP via reticulate to the R-native UWOT using the cosine metric
## To use Python UMAP via reticulate, set umap.method to 'umap-learn' and metric to 'correlation'
## This message will be shown once per session
## 11:45:36 UMAP embedding parameters a = 0.9922 b = 1.112
## 11:45:36 Read 3415 rows and found 20 numeric columns
## 11:45:36 Using Annoy for neighbor search, n_neighbors = 30
## 11:45:36 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 11:45:37 Writing NN index file to temp file C:\Users\Nick\AppData\Local\Temp\RtmpeCnTGZ\file23810c36593
## 11:45:37 Searching Annoy index using 1 thread, search_k = 3000
## 11:45:37 Annoy recall = 100%
## 11:45:38 Commencing smooth kNN distance calibration using 1 thread
## 11:45:39 Initializing from normalized Laplacian + noise
## 11:45:40 Commencing optimization for 500 epochs, with 142062 positive edges
## 11:45:47 Optimization finished
## [1] "HTO demultiplexing library 2 of 10"
## [1] "Current library: SCL210602RS_GEX1_Lib_XL_reseq-hto"
## [1] "Removed 0 barcodes for having zero HTO counts"
## Normalizing across features
## Centering and scaling data matrix
## Warning in irlba(A = t(x = object), nv = npcs, ...): You're computing too large
## a percentage of total singular values, use a standard svd instead.
## Warning in print.DimReduc(x = reduction.data, dims = ndims.print, nfeatures =
## nfeatures.print): Only 3 dimensions have been computed.
## Warning: Requested number is larger than the number of available items (4).
## Setting to 4.
## Warning: Requested number is larger than the number of available items (4).
## Setting to 4.
## Warning: Requested number is larger than the number of available items (4).
## Setting to 4.
## PC_ 1
## Positive: HTO1-Lib-XL-HTO2-Lib-XL.2, HTO1-Lib-XL-HTO2-Lib-XL
## Negative: HTO1-Lib-XL-HTO2-Lib-XL.3, HTO1-Lib-XL-HTO2-Lib-XL.1
## PC_ 2
## Positive: HTO1-Lib-XL-HTO2-Lib-XL, HTO1-Lib-XL-HTO2-Lib-XL.1
## Negative: HTO1-Lib-XL-HTO2-Lib-XL.2, HTO1-Lib-XL-HTO2-Lib-XL.3
## PC_ 3
## Positive: HTO1-Lib-XL-HTO2-Lib-XL, HTO1-Lib-XL-HTO2-Lib-XL.2
## Negative: HTO1-Lib-XL-HTO2-Lib-XL.3, HTO1-Lib-XL-HTO2-Lib-XL.1
## Cutoff for HTO1-Lib-XL-HTO2-Lib-XL : 40 reads
## Cutoff for HTO1-Lib-XL-HTO2-Lib-XL.1 : 72 reads
## Cutoff for HTO1-Lib-XL-HTO2-Lib-XL.2 : 15 reads
## Cutoff for HTO1-Lib-XL-HTO2-Lib-XL.3 : 202 reads
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.
## Picking joint bandwidth of 0.077
## Picking joint bandwidth of 0.0569
## Picking joint bandwidth of 0.0811
## Picking joint bandwidth of 0.0364
## Centering and scaling data matrix
## PC_ 1
## Positive: Lcn2, Epcam, Trf, Fxyd3, Csn3, Krt18, Wfdc18, Cldn7, Aqp5, Krt8
## Plet1, Apoc1, Car6, Slc12a2, Rassf3, Cldn3, Folr1, Scgb2b27, Galnt3, Kcnn4
## Acsl4, Tesc, Etv1, Pgp, Secisbp2l, 1500002F19Rik, 1110008P14Rik, Tspan8, Dbi, Sox10
## Negative: Col3a1, Col1a2, Dcn, Sparc, Aebp1, Fstl1, Serping1, Col1a1, Col5a2, Mmp2
## Lum, Bgn, Fn1, Fbn1, Cpxm1, Serpina3n, Mfap5, Tnfaip6, Postn, Serpinf1
## Col5a1, Col14a1, Thbs2, Ccdc80, Abi3bp, Mmp3, Igfbp4, Ctsk, Rarres2, Lox
## PC_ 2
## Positive: Dbi, Epcam, Rps27l, Lcn2, Aqp5, Fxyd3, Cldn7, Plet1, Phlda1, Nfib
## Wfdc18, Krt8, Slc12a2, Krt18, Csn3, Acsl4, Trf, Apoc1, Etv1, Socs2
## Car6, 1110008P14Rik, Rps2, Xbp1, Pgp, Folr1, Cldn3, Ndufa4, Igfbp5, Tpm1
## Negative: Tyrobp, Fcer1g, Ctss, Lyz2, Cd74, Apoe, Cd52, Il1b, C1qa, H2-Ab1
## Laptm5, C1qc, H2-Aa, Rgs1, Srgn, C1qb, Plek, Ms4a7, Wfdc17, Mpeg1
## Lst1, Cd14, Bcl2a1b, Cxcl2, Ccl4, Lilrb4a, Ccrl2, Aif1, Lilr4b, Cybb
## PC_ 3
## Positive: Ctss, Lyz2, C1qa, Fth1, Apoe, C1qc, Fcer1g, Cxcl2, Cd14, C1qb
## Tyrobp, Il1b, Cd74, Ms4a7, Cst3, Plek, H2-Ab1, Srgn, H2-Aa, Mpeg1
## Ccrl2, Laptm5, Lst1, Rgs1, Gatm, Lilrb4a, Bcl2a1b, Ctsc, Cx3cr1, Cstb
## Negative: Hbb-bt, Rsad2, Emcn, Gpihbp1, Cdh5, Kdr, Adgrf5, Plvap, Ptprb, Ramp2
## Egfl7, Esam, Car2, Clec3b, Adgrl4, Cldn5, Aqp1, Flt1, Ly6c1, Tek
## Esm1, Sox18, Tnxb, Pamr1, Efhd1, Cd34, Sele, Mmrn2, Kcne3, Fam167b
## PC_ 4
## Positive: Car6, Scgb2b27, Trf, Cpd, Aqp5, Xbp1, Slc12a2, 1500002F19Rik, Id2, 2310057J18Rik
## Secisbp2l, Folr1, Pgp, Rassf3, Etv1, Lcn2, Ncald, Csn3, Apoc1, Tspan8
## Apoe, Socs2, Wfdc18, Kcnn4, 4931406C07Rik, Scgb1b27, C1qa, Ctss, Tesc, Acsl4
## Negative: Krt14, Krt6a, Krt5, S100a14, Krt17, Pkp1, Areg, Lgals7, Krt16, Klk8
## Lama3, Csta1, Il24, Col17a1, Hmga2, Lamc2, Dsg3, Sfn, Aqp3, Dmkn
## Sdc1, Tacstd2, S100a6, Pthlh, 2200002D01Rik, Sprr1b, Cstdc5, Serpinb5, Sprr1a, Dsp
## PC_ 5
## Positive: Mt1, Dmkn, Krt6a, Clec3b, Igfbp5, Ly6d, Krt14, Fxyd3, Ptx3, Efemp1
## Tnxb, Sbsn, Mt2, S100a14, Gsn, C4b, Sfn, Lgals7, C3, S100a8
## Ctsl, Tnfaip6, Has1, Cstdc5, Lcn2, Krt5, Krt18, Sprr1a, Fth1, Krt8
## Negative: Pclaf, Top2a, Cdh5, Hist1h2ap, Gng11, Hist1h3c, Hist1h2ae, Hist1h1b, Hist1h2ak, Mki67
## Prc1, Igfbp3, Flt1, Gpihbp1, Pecam1, Egfl7, Hmgb2, Birc5, Cenpf, Nusap1
## Adgrf5, Hmmr, Cdk1, Tpx2, Hist1h4d, Eng, Plvap, Cd93, Kdr, Tubb5
## Computing nearest neighbor graph
## Computing SNN
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 9904
## Number of edges: 303942
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9240
## Number of communities: 15
## Elapsed time: 0 seconds
## [1] "Creating artificial doublets for pN = 5%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 10%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 15%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 20%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 25%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 30%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## NULL
## [1] "Creating 3301 artificial doublets..."
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Computing pANN..."
## [1] "Classifying doublets.."
## 11:49:01 UMAP embedding parameters a = 0.9922 b = 1.112
## 11:49:01 Read 9904 rows and found 20 numeric columns
## 11:49:01 Using Annoy for neighbor search, n_neighbors = 30
## 11:49:01 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 11:49:02 Writing NN index file to temp file C:\Users\Nick\AppData\Local\Temp\RtmpeCnTGZ\file238140317e9
## 11:49:02 Searching Annoy index using 1 thread, search_k = 3000
## 11:49:05 Annoy recall = 98.96%
## 11:49:05 Commencing smooth kNN distance calibration using 1 thread
## 11:49:05 234 smooth knn distance failures
## 11:49:07 Initializing from normalized Laplacian + noise
## 11:49:07 Commencing optimization for 500 epochs, with 427736 positive edges
## 11:49:30 Optimization finished
## [1] "HTO demultiplexing library 3 of 10"
## [1] "Current library: SCL210602RS_GEX2_Lib_CD_reseq-hto"
## [1] "Removed 2 barcodes for having zero HTO counts"
## Normalizing across features
## Centering and scaling data matrix
## Warning in irlba(A = t(x = object), nv = npcs, ...): You're computing too large
## a percentage of total singular values, use a standard svd instead.
## Warning in print.DimReduc(x = reduction.data, dims = ndims.print, nfeatures =
## nfeatures.print): Only 2 dimensions have been computed.
## Warning: Requested number is larger than the number of available items (3).
## Setting to 3.
## Warning: Requested number is larger than the number of available items (3).
## Setting to 3.
## PC_ 1
## Positive: HTO1-Lib-CD-HTO2-Lib-CD.2, HTO1-Lib-CD-HTO2-Lib-CD.1
## Negative: HTO1-Lib-CD-HTO2-Lib-CD
## PC_ 2
## Positive: HTO1-Lib-CD-HTO2-Lib-CD, HTO1-Lib-CD-HTO2-Lib-CD.2
## Negative: HTO1-Lib-CD-HTO2-Lib-CD.1
## Cutoff for HTO1-Lib-CD-HTO2-Lib-CD : 109 reads
## Cutoff for HTO1-Lib-CD-HTO2-Lib-CD.1 : 94 reads
## Cutoff for HTO1-Lib-CD-HTO2-Lib-CD.2 : 1 reads
## Warning in HTOHeatmap(curr_so, assay = "HTO"): ncells (5000) is larger than the
## number of cells present in the provided object (3101). Plotting heatmap for all
## cells.
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.
## Picking joint bandwidth of 0.22
## Picking joint bandwidth of 0.224
## Picking joint bandwidth of 0.0755
## Centering and scaling data matrix
## PC_ 1
## Positive: Lcn2, Car6, Wfdc18, Epcam, Krt18, 2310057J18Rik, Scgb2b27, Csn3, Cytip, Kcnn4
## Krt8, Plet1, Gm26917, Spint2, Trf, Rgs1, Bcl2a1b, Ehf, Itgb2, Cldn3
## Hmgb2, Folr1, Thrsp, Il1b, Scgb1b27, Tesc, Ptprcap, Pigr, Elf5, Il2rb
## Negative: Fstl1, Dcn, Serpinf1, Mmp2, Aebp1, Col5a2, Col3a1, Ccdc80, Serping1, Sparc
## Pcolce, Serpinh1, Loxl1, Bgn, Col6a1, Prrx1, Fbn1, Lum, Ppic, Fxyd1
## Col6a2, Col1a2, C1s1, Timp2, Rcn3, Htra1, Abi3bp, Adamts2, Igfbp7, Antxr1
## PC_ 2
## Positive: Ctss, Cytip, Il1b, Cd74, Alox5ap, Cst3, Bcl2a1b, Lst1, Rgs1, Itgb2
## H2-Ab1, H2-Aa, Lyz2, Lgals3, Mpeg1, Nlrp3, Tgfbi, Cd300c2, Gngt2, Ms4a6c
## Csf1r, Wfdc17, Napsa, H2-DMa, Cxcl2, Csf2rb, Cybb, Plaur, Aif1, Itgam
## Negative: Cldn3, Krt18, Aqp5, Plet1, Folr1, Epcam, Krt8, Wfdc18, Spint2, Tspan8
## Galnt3, Pgp, Lcn2, Cldn7, Fxyd3, Ehf, Slc12a2, Rab25, Xbp1, 2310057J18Rik
## Thrsp, Me1, Urah, Cystm1, Car6, Ano1, Elf5, Cd164l2, Abhd5, Prxl2a
## PC_ 3
## Positive: Pclaf, Hist1h3c, Top2a, Hist1h1b, Birc5, Stmn1, Ctsw, Nkg7, Hist1h2af, Hist1h4d
## Xcl1, Nusap1, Kif11, Hist1h2ae, Hist1h2ap, Smc2, AW112010, Il2rb, Cdca8, Prc1
## Spc24, Ptprcap, Cdk1, Cd7, Hist1h2bm, Tpx2, Gzmb, Hist1h3e, Dut, Klra5
## Negative: Clec4d, S100a8, S100a9, Clec4e, Nlrp3, Cxcl2, Il1b, Slc7a11, Trem1, Csf3r
## Acod1, Hdc, Il1rn, Wfdc17, Ccrl2, G0s2, Pla2g7, Cxcr2, Wfdc21, Arg2
## Cyp4f18, Fpr2, Alox5ap, Il1f9, Igsf6, Hp, Mcemp1, Ifitm1, Mirt2, Hcar2
## PC_ 4
## Positive: Ctss, Ifi30, Cd74, H2-DMb1, H2-Ab1, H2-Aa, Mpeg1, Pld4, H2-DMa, Cybb
## Lyz2, Aif1, Csf1r, Cxcl16, Ms4a6c, Alox5ap, Cd300c2, Lst1, Ctsb, Tgfbi
## Plbd1, Il1b, Gatm, Ly86, Cd68, Gm2a, H2-Eb1, Hexb, Ms4a6d, Cd83
## Negative: Gm26917, Col1a1, AY036118, Ecrg4, Col1a2, Col11a1, Il17b, Mgp, Tnn, Matn4
## Tnc, Sparc, Col12a1, Col16a1, Col7a1, Epha3, Edil3, Cd3g, Col6a3, Igfbp7
## Crabp1, Cd3e, Icos, Trbc2, Col8a1, Hmcn1, Cd3d, Cxcr6, Tpm2, Col4a1
## PC_ 5
## Positive: Ecrg4, Il17b, Edil3, Col11a1, Ctsc, Kazald1, Tnn, Epha3, Matn2, Matn4
## Plpp1, Slc7a2, Clec11a, Col8a1, Fmod, Crabp1, Megf6, Igfbp2, Cst3, Wnt5a
## Vcam1, Olfml3, Mme, Msx1, Tsc22d1, Kctd1, Spp1, Tnfrsf21, Cpz, Spon1
## Negative: Pcolce2, Efemp1, Tnxb, Adgrd1, Ccl11, Mfap5, Pi16, Cd34, Opcml, Lrrn4cl
## Clec3b, Sfrp4, Ifi205, C4b, Ebf2, Scara5, Itih5, Sema3c, Pla1a, Medag
## Ndn, Pamr1, Ly6c1, Galnt16, Cadm3, Dpt, Has1, Cygb, Nova1, Flrt2
## Computing nearest neighbor graph
## Computing SNN
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 3101
## Number of edges: 88792
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9344
## Number of communities: 13
## Elapsed time: 0 seconds
## [1] "Creating artificial doublets for pN = 5%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 10%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 15%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 20%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 25%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 30%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## NULL
## [1] "Creating 1034 artificial doublets..."
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Computing pANN..."
## [1] "Classifying doublets.."
## 11:50:31 UMAP embedding parameters a = 0.9922 b = 1.112
## 11:50:31 Read 3101 rows and found 20 numeric columns
## 11:50:31 Using Annoy for neighbor search, n_neighbors = 30
## 11:50:31 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 11:50:32 Writing NN index file to temp file C:\Users\Nick\AppData\Local\Temp\RtmpeCnTGZ\file2385c3b2806
## 11:50:32 Searching Annoy index using 1 thread, search_k = 3000
## 11:50:32 Annoy recall = 100%
## 11:50:33 Commencing smooth kNN distance calibration using 1 thread
## 11:50:34 Initializing from normalized Laplacian + noise
## 11:50:34 Commencing optimization for 500 epochs, with 126882 positive edges
## 11:50:42 Optimization finished
## [1] "HTO demultiplexing library 4 of 10"
## [1] "Current library: SCL210602RS_GEX2_Lib_XL_reseq-hto"
## [1] "Removed 0 barcodes for having zero HTO counts"
## Normalizing across features
## Centering and scaling data matrix
## Warning in irlba(A = t(x = object), nv = npcs, ...): You're computing too large
## a percentage of total singular values, use a standard svd instead.
## Warning in print.DimReduc(x = reduction.data, dims = ndims.print, nfeatures =
## nfeatures.print): Only 3 dimensions have been computed.
## Warning: Requested number is larger than the number of available items (4).
## Setting to 4.
## Warning: Requested number is larger than the number of available items (4).
## Setting to 4.
## Warning: Requested number is larger than the number of available items (4).
## Setting to 4.
## PC_ 1
## Positive: HTO1-Lib-XL-HTO2-Lib-XL.1, HTO1-Lib-XL-HTO2-Lib-XL.3
## Negative: HTO1-Lib-XL-HTO2-Lib-XL.2, HTO1-Lib-XL-HTO2-Lib-XL
## PC_ 2
## Positive: HTO1-Lib-XL-HTO2-Lib-XL.1, HTO1-Lib-XL-HTO2-Lib-XL.3
## Negative: HTO1-Lib-XL-HTO2-Lib-XL.2, HTO1-Lib-XL-HTO2-Lib-XL
## PC_ 3
## Positive: HTO1-Lib-XL-HTO2-Lib-XL.3, HTO1-Lib-XL-HTO2-Lib-XL.1
## Negative: HTO1-Lib-XL-HTO2-Lib-XL, HTO1-Lib-XL-HTO2-Lib-XL.2
## Cutoff for HTO1-Lib-XL-HTO2-Lib-XL : 36 reads
## Cutoff for HTO1-Lib-XL-HTO2-Lib-XL.1 : 64 reads
## Cutoff for HTO1-Lib-XL-HTO2-Lib-XL.2 : 15 reads
## Cutoff for HTO1-Lib-XL-HTO2-Lib-XL.3 : 194 reads
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.
## Picking joint bandwidth of 0.0747
## Picking joint bandwidth of 0.0543
## Picking joint bandwidth of 0.0801
## Picking joint bandwidth of 0.0354
## Centering and scaling data matrix
## PC_ 1
## Positive: Col3a1, Col1a2, Dcn, Sparc, Fstl1, Aebp1, Col5a2, Serping1, Col1a1, Bgn
## Fn1, Mmp2, Lum, Fbn1, Cpxm1, Postn, Vim, Mfap5, Serpina3n, Tnfaip6
## Timp2, Ctla2a, Col14a1, Lox, Abi3bp, Thbs2, Serpinf1, Ccdc80, Col5a1, Igfbp4
## Negative: Lcn2, Trf, Epcam, Wfdc18, Csn3, Fxyd3, Krt8, Dbi, Plet1, Cldn7
## Aqp5, Krt18, Car6, Rps27l, Slc12a2, Scgb2b27, Apoc1, Acsl4, Rassf3, Xbp1
## Cldn3, Atp1a1, 1110008P14Rik, Etv1, Kcnn4, Folr1, Secisbp2l, Fabp5, Cpd, Scd1
## PC_ 2
## Positive: Dbi, Lcn2, Rps27l, Wfdc18, Epcam, Csn3, Aqp5, Fxyd3, Cldn7, Plet1
## Krt8, Krt18, Car6, Igfbp5, Slc12a2, Scgb2b27, Xbp1, Acsl4, Trf, Apoc1
## Etv1, Socs2, 1110008P14Rik, Cldn3, Secisbp2l, Pdcd4, Folr1, Scd2, Rps2, Sox9
## Negative: Ctss, C1qa, Fcer1g, Tyrobp, Lyz2, Apoe, Cd74, Il1b, C1qc, Ms4a7
## H2-Aa, C1qb, Plek, Laptm5, H2-Ab1, Rgs1, Srgn, Cd52, Cd14, Mpeg1
## Cxcl2, Ccl4, Wfdc17, Bcl2a1b, Ccrl2, Lilr4b, Lilrb4a, Ms4a6c, Aif1, Lst1
## PC_ 3
## Positive: Krt14, Krt6a, Krt5, Areg, S100a14, Lgals7, Hmga2, S100a6, Sdc1, Krt16
## Klk8, Col17a1, Sfn, Lamc2, Sprr1b, Cstdc5, Cstb, Il24, Pkp1, Dsg3
## Lama3, Aqp3, Tmsb10, Gapdh, Perp, Csta1, Capg, Krt17, S100a10, Fam162a
## Negative: Hba-a1, Hbb-bs, Hbb-bt, Hba-a2, Alas2, Gm42418, Snca, Clec3b, Lars2, C4b
## Pi16, Ogn, Tnxb, Efemp1, Ly6c1, Ifi205, Apod, Adamts5, Dcn, Ptx3
## C3, Slfn5, Serping1, Cxcl12, Tent5c, Itih5, Prg4, C1s1, Htra3, Gsn
## PC_ 4
## Positive: Hbb-bt, Hba-a1, Hba-a2, Hbb-bs, Alas2, Krt14, Krt5, Krt6a, Snca, S100a14
## Lgals7, Lama3, Cstdc5, Col17a1, Krt17, Hmga2, Klk8, Lamc2, Areg, Col18a1
## Krt16, Dsg3, Csta1, Il24, Pkp1, Sprr1b, Aqp3, Fabp4, Flt1, Cdh5
## Negative: Aqp5, Rps27l, Trf, Dbi, Cpd, Id2, Slc12a2, Car6, Xbp1, Etv1
## Reep5, Pgp, Atp1a1, Scgb2b27, Acsl4, Sec11c, H2afz, Scd2, Socs2, Tesc
## Secisbp2l, Ss18l2, Pdcd4, Kcnn4, Folr1, Rassf3, 1500002F19Rik, Hist1h2ap, Wfdc18, 4931406C07Rik
## PC_ 5
## Positive: Clec3b, Efemp1, Ly6c1, Ptx3, Tnxb, Gsn, C4b, Pi16, Tnfaip6, C3
## Ly6a, Has1, Prg4, Itih5, Sema3c, Ackr3, Ifi205, Ugdh, Lbp, Adamts5
## Gfpt2, Mt1, Htra3, Mt2, Pcolce2, Cd55, Dmkn, Igfbp6, Sned1, Sfrp4
## Negative: Igfbp3, Col12a1, Col8a1, Tagln, Gng11, Acta2, Ecrg4, Tnc, C1qtnf3, Lrrc15
## Cdh5, F2r, Flt1, Cdh11, Igfbp7, Igfbp2, Pecam1, Ptn, Spon1, Ncam1
## Col4a2, Olfml3, Crabp1, Gask1b, Plvap, Ccn2, Adgrf5, Cpxm2, Wnt5a, Gpihbp1
## Computing nearest neighbor graph
## Computing SNN
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 8723
## Number of edges: 273619
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9100
## Number of communities: 12
## Elapsed time: 0 seconds
## [1] "Creating artificial doublets for pN = 5%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 10%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 15%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 20%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 25%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 30%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## NULL
## [1] "Creating 2908 artificial doublets..."
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Computing pANN..."
## [1] "Classifying doublets.."
## 11:53:22 UMAP embedding parameters a = 0.9922 b = 1.112
## 11:53:22 Read 8723 rows and found 20 numeric columns
## 11:53:22 Using Annoy for neighbor search, n_neighbors = 30
## 11:53:22 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 11:53:23 Writing NN index file to temp file C:\Users\Nick\AppData\Local\Temp\RtmpeCnTGZ\file23845a5134f
## 11:53:23 Searching Annoy index using 1 thread, search_k = 3000
## 11:53:25 Annoy recall = 100%
## 11:53:26 Commencing smooth kNN distance calibration using 1 thread
## 11:53:27 Initializing from normalized Laplacian + noise
## 11:53:28 Commencing optimization for 500 epochs, with 370748 positive edges
## 11:53:47 Optimization finished
## [1] "HTO demultiplexing library 5 of 10"
## [1] "Current library: SCL210816RS_GEX1_Lib_RUN4_reseq-hto"
## [1] "Removed 2 barcodes for having zero HTO counts"
## Normalizing across features
## Centering and scaling data matrix
## Warning in irlba(A = t(x = object), nv = npcs, ...): You're computing too large
## a percentage of total singular values, use a standard svd instead.
## Warning in print.DimReduc(x = reduction.data, dims = ndims.print, nfeatures =
## nfeatures.print): Only 4 dimensions have been computed.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## PC_ 1
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN4.4, HTO1-Lib-RUN4-HTO2-Lib-RUN4.1
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN4, HTO1-Lib-RUN4-HTO2-Lib-RUN4.2
## PC_ 2
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN4.4, HTO1-Lib-RUN4-HTO2-Lib-RUN4.2
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN4.1, HTO1-Lib-RUN4-HTO2-Lib-RUN4
## PC_ 3
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN4.3, HTO1-Lib-RUN4-HTO2-Lib-RUN4.2
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN4, HTO1-Lib-RUN4-HTO2-Lib-RUN4.4
## PC_ 4
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN4.2, HTO1-Lib-RUN4-HTO2-Lib-RUN4.3
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN4, HTO1-Lib-RUN4-HTO2-Lib-RUN4.4
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN4 : 187 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN4.1 : 94 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN4.2 : 163 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN4.3 : 40 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN4.4 : 28 reads
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.
## Picking joint bandwidth of 0.032
## Picking joint bandwidth of 0.0311
## Picking joint bandwidth of 0.0372
## Picking joint bandwidth of 0.036
## Picking joint bandwidth of 0.0388
## Centering and scaling data matrix
## PC_ 1
## Positive: Fstl1, Col3a1, Aebp1, Fbn1, Col1a2, Dcn, Serping1, Col5a2, Mmp2, Bgn
## Lum, Prrx1, Col6a1, Sparc, Col5a1, C1s1, Col1a1, Col6a2, Serpinh1, Loxl1
## Pdgfra, Adamts5, Bicc1, Serpinf1, Ccdc80, Fbln1, Col6a3, Pcolce, Antxr1, Nid1
## Negative: Cd74, H2-Aa, H2-Ab1, Ctss, C1qa, Lyz2, C1qb, C1qc, Aif1, Wfdc17
## Ms4a7, Hmgb2, Bcl2a1b, Igkc, Il1b, Cx3cr1, Ccr2, Cd68, Alox5ap, Apoe
## Irf8, Il7r, Cd72, Cd3g, Cd3e, Clec4a2, Samsn1, Cd3d, Trem2, Cxcr6
## PC_ 2
## Positive: Cd74, H2-Aa, Tnxb, Mfap5, Clec3b, H2-Ab1, Ctss, Efemp1, Pcolce2, Ccl11
## C1qa, Rarres2, Ifi205, Pi16, Apoe, Lpl, Lyz2, Igfbp6, Pla1a, Serping1
## Adgrd1, C1qb, C1s1, Ftl1, C1qc, Dpt, Medag, Dpep1, Gsn, Cygb
## Negative: Fxyd3, Epcam, Cldn7, Wfdc18, Ehf, Cbr2, Krt8, Plet1, Muc15, Krt19
## Aqp5, Atp6v1b1, Sox9, Krt18, Cck, Cldn3, Smim22, Mfge8, Lcn2, Plb1
## Clic6, Csn1s1, Ano1, Csn3, BC006965, Pdlim3, Spint2, Nfib, Atp1b1, Clu
## PC_ 3
## Positive: Apod, Tnxb, Clec3b, Efemp1, Mfap5, Wfdc18, Pcolce2, Krt19, Plet1, Muc15
## Atp6v1b1, Ehf, Cldn7, Scara5, Csn1s1, Ccl11, Cck, Epcam, Smim22, Krt18
## Pi16, Mgst1, Plb1, Cldn3, Cst3, BC006965, Krt8, Clic6, Ifi205, Cbr2
## Negative: Cdh5, Egfl7, Gpihbp1, Aqp1, Flt1, Pecam1, Esam, Emcn, Plvap, Igfbp3
## Kdr, Rasip1, Ptprb, Sox18, Col4a2, Ednrb, Col4a1, Adgrl4, Mmrn2, Cyyr1
## Cldn5, Adgrf5, Sema6d, Cd93, Rapgef5, Sparcl1, Ramp2, Ushbp1, Mcam, Eng
## PC_ 4
## Positive: Cd34, Ly6c1, Pcolce2, Tnxb, Efemp1, Itih5, Clec3b, Heg1, Mfap5, Opcml
## Ccl11, Adgrd1, Nid1, Plpp3, Pi16, Scara5, Ebf1, Cadm3, Ace, Cdh5
## Tek, Egfl7, Ifi205, Pla1a, Dpp4, Gpihbp1, Lrrn4cl, Nova1, Ebf2, Sfrp4
## Negative: Ecrg4, Slc7a2, Mgp, Il17b, Edil3, Postn, Serpine2, Mme, Col8a1, Igfbp2
## Col11a1, Matn4, Matn2, Gpm6b, Nrxn1, Mmp3, Col12a1, Spon1, Ndufa4l2, Bgn
## Pdgfrl, Gas1, Megf6, Crabp1, Htra1, Smoc1, Vcan, Mrc2, Col16a1, Cxcl14
## PC_ 5
## Positive: H2-Ab1, Cst3, C1qc, C1qa, Ctss, H2-Aa, Cd74, Ctsb, C1qb, Ftl1
## Aif1, Cx3cr1, Apoe, Ms4a7, Lyz2, Cd68, Ifi30, Fth1, Trem2, Clec4a2
## Cd72, Irf8, Fcgr2b, Msr1, Basp1, Wfdc17, Stab1, Dcstamp, Polr2l, Lgals3
## Negative: Cd3e, Cd3g, Cd3d, Cxcr6, Trbc2, Ptprcap, Il7r, Trdc, Tcrg-C1, Trac
## Icos, Ikzf2, Trbc1, Itgae, Trdv4, Cd163l1, S100a4, Blk, Il2rb, Ctsw
## Krt83, S100a6, F2r, Serpinb1a, Trgv2, Nkg7, Gprin3, Il2ra, Lta, Cers4
## Computing nearest neighbor graph
## Computing SNN
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 20448
## Number of edges: 675683
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9373
## Number of communities: 15
## Elapsed time: 3 seconds
## [1] "Creating artificial doublets for pN = 5%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 10%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 15%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 20%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 25%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 30%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## NULL
## [1] "Creating 6816 artificial doublets..."
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Computing pANN..."
## [1] "Classifying doublets.."
## 11:58:45 UMAP embedding parameters a = 0.9922 b = 1.112
## 11:58:45 Read 20448 rows and found 20 numeric columns
## 11:58:45 Using Annoy for neighbor search, n_neighbors = 30
## 11:58:45 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 11:58:47 Writing NN index file to temp file C:\Users\Nick\AppData\Local\Temp\RtmpeCnTGZ\file23815a96fe0
## 11:58:47 Searching Annoy index using 1 thread, search_k = 3000
## 11:58:52 Annoy recall = 100%
## 11:58:53 Commencing smooth kNN distance calibration using 1 thread
## 11:58:55 Initializing from normalized Laplacian + noise
## 11:58:56 Commencing optimization for 200 epochs, with 923998 positive edges
## 11:59:14 Optimization finished
## [1] "HTO demultiplexing library 6 of 10"
## [1] "Current library: SCL210816RS_GEX1_Lib_RUN5_reseq-hto"
## [1] "Removed 3 barcodes for having zero HTO counts"
## Normalizing across features
## Centering and scaling data matrix
## Warning in irlba(A = t(x = object), nv = npcs, ...): You're computing too large
## a percentage of total singular values, use a standard svd instead.
## Warning in print.DimReduc(x = reduction.data, dims = ndims.print, nfeatures =
## nfeatures.print): Only 4 dimensions have been computed.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## PC_ 1
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN5, HTO1-Lib-RUN4-HTO2-Lib-RUN5.1
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN5.2, HTO1-Lib-RUN4-HTO2-Lib-RUN5.4
## PC_ 2
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN5, HTO1-Lib-RUN4-HTO2-Lib-RUN5.1
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN5.4, HTO1-Lib-RUN4-HTO2-Lib-RUN5.3
## PC_ 3
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN5.1, HTO1-Lib-RUN4-HTO2-Lib-RUN5.4
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN5, HTO1-Lib-RUN4-HTO2-Lib-RUN5.3
## PC_ 4
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN5.4, HTO1-Lib-RUN4-HTO2-Lib-RUN5
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN5.3, HTO1-Lib-RUN4-HTO2-Lib-RUN5.1
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN5 : 30 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN5.1 : 129 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN5.2 : 221 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN5.3 : 89 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN5.4 : 11 reads
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.
## Picking joint bandwidth of 0.0519
## Picking joint bandwidth of 0.0566
## Picking joint bandwidth of 0.0265
## Picking joint bandwidth of 0.0401
## Picking joint bandwidth of 0.033
## Centering and scaling data matrix
## PC_ 1
## Positive: Serping1, Fstl1, Aebp1, Dcn, Fbn1, Rarres2, C1s1, Mfap5, Cd248, Adamts5
## Mmp2, Loxl1, Col3a1, Serpinf1, Tnxb, Clec3b, C4b, Efemp1, C1ra, Abi3bp
## Pcolce, Serpina3n, Col14a1, Nid1, Itih5, Lum, Fbln1, Col5a2, Ogn, Prrx1
## Negative: Cd52, Gm26917, Ccl3, Lcn2, Pglyrp1, Asprv1, Ccl4, Ltf, Wfdc18, Cstdc4
## Glrx, Krt18, Ctss, Ccl6, Rgs1, Krt8, Ero1l, Lyz2, Epcam, Ogfrl1
## Clu, AA467197, Retnlg, Fabp5, Slpi, Il1a, Isg15, Mpeg1, Cldn4, Plin2
## PC_ 2
## Positive: Epcam, Cldn3, Fxyd3, Cldn7, Plet1, Krt8, Hspb1, Krt18, Rab25, Lgals7
## Apoc1, 2200002D01Rik, Cldn4, Folr1, Wfdc18, Rbp1, Krt19, S100a14, Elf5, Clu
## Nupr1, Crabp2, Scd2, 1110008P14Rik, Ehf, Sox4, S100a1, Plpp2, Tmem238, Sfn
## Negative: Cd52, Ctss, Ccl3, Lyz2, Rgs1, Ccl4, Cd74, Ptgs2, Cstdc4, Ccl6
## Mpeg1, Cst3, Retnlg, Apoe, Csf1r, H2-Ab1, H2-Aa, Gpr183, S100a4, Cybb
## Ms4a6c, Osm, Aif1, C1qa, AW112010, Cxcl3, C1qb, Cd3g, Cd68, C1qc
## PC_ 3
## Positive: C1qa, C1qc, Aif1, Cd74, C1qb, H2-Ab1, H2-Aa, Gatm, Ctss, Ms4a6c
## Apoe, Ms4a7, Cx3cr1, Ctsc, Pld4, Lgmn, Cybb, H2-DMa, Dab2, Cd83
## Trem2, H2-Eb1, Cd72, C3ar1, Fcgr1, H2-DMb1, Slamf9, Hexb, Msr1, Apobec1
## Negative: Asprv1, Gm26917, Cst6, Cstdc4, Klk7, Klk6, Retnlg, Klk10, Elovl4, Krt7
## Sbsn, Padi4, Lcn2, Egln3, S100a6, Chil1, Pglyrp1, Prss27, Cstdc5, Ppl
## Hp, Crct1, Spink5, Ero1l, Spink12, Tchh, Klk14, Ltf, Cxcl3, Endou
## PC_ 4
## Positive: Cdh5, Egfl7, Igfbp3, Emcn, Col4a2, Esam, Plvap, Gng11, Col4a1, Kdr
## Ptprb, Aqp1, Flt1, Gpihbp1, Adgrf5, Col18a1, Cdh13, Sema6d, Eng, Pecam1
## Mmrn2, Ecscr, Adgrl4, Sparcl1, Ptn, Cd93, Tie1, Mcam, Igfbp7, Rapgef4
## Negative: Ctss, Cd74, Aif1, C1qa, C1qc, C1qb, H2-Ab1, H2-Aa, Lyz2, Ms4a7
## Ms4a6c, Cybb, Pld4, Cx3cr1, Axl, Csf1r, Gatm, H2-Eb1, Mpeg1, H2-DMa
## Fcgr1, Trem2, Apoe, C3ar1, Sbsn, Cd72, Cd83, Hexb, Lgals3, Dpp4
## PC_ 5
## Positive: Klk7, Klk6, Elovl4, Endou, Klk10, Prss27, Spink5, Cst6, Klk14, Clic3
## Padi4, Anxa9, Krt80, Gsdma, Asprv1, Crct1, Pof1b, Klk8, Psapl1, Calml3
## Prss22, Arg1, Ly6g6c, Cnfn, Sprr1a, Ppl, Sdr16c6, Tmprss11e, Cysrt1, Gdpd1
## Negative: Csn1s1, Csn3, Csn2, Thrsp, Csn1s2a, Cldn7, Btn1a1, Fkbp11, Pclaf, Stmn1
## Birc5, Lalba, Ube2c, Cks1b, Mgst1, Psat1, Hist1h2ap, Cdca8, Clca3a2, Tmem238
## Plb1, Elf5, Dbi, Mki67, Krt8, Cdca3, Krt18, Muc4, Plscr2, Ccdc34
## Computing nearest neighbor graph
## Computing SNN
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 13391
## Number of edges: 412371
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9194
## Number of communities: 13
## Elapsed time: 2 seconds
## [1] "Creating artificial doublets for pN = 5%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 10%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 15%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 20%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 25%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 30%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## NULL
## [1] "Creating 4464 artificial doublets..."
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Computing pANN..."
## [1] "Classifying doublets.."
## 12:03:10 UMAP embedding parameters a = 0.9922 b = 1.112
## 12:03:10 Read 13391 rows and found 20 numeric columns
## 12:03:10 Using Annoy for neighbor search, n_neighbors = 30
## 12:03:10 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 12:03:11 Writing NN index file to temp file C:\Users\Nick\AppData\Local\Temp\RtmpeCnTGZ\file23820173e4c
## 12:03:11 Searching Annoy index using 1 thread, search_k = 3000
## 12:03:14 Annoy recall = 100%
## 12:03:15 Commencing smooth kNN distance calibration using 1 thread
## 12:03:17 Initializing from normalized Laplacian + noise
## 12:03:17 Commencing optimization for 200 epochs, with 596988 positive edges
## 12:03:30 Optimization finished
## [1] "HTO demultiplexing library 7 of 10"
## [1] "Current library: SCL210816RS_GEX2_Lib_RUN4_reseq-hto"
## [1] "Removed 4 barcodes for having zero HTO counts"
## Normalizing across features
## Centering and scaling data matrix
## Warning in irlba(A = t(x = object), nv = npcs, ...): You're computing too large
## a percentage of total singular values, use a standard svd instead.
## Warning in print.DimReduc(x = reduction.data, dims = ndims.print, nfeatures =
## nfeatures.print): Only 4 dimensions have been computed.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## PC_ 1
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN4.4, HTO1-Lib-RUN4-HTO2-Lib-RUN4.1
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN4, HTO1-Lib-RUN4-HTO2-Lib-RUN4.2
## PC_ 2
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN4.4, HTO1-Lib-RUN4-HTO2-Lib-RUN4.2
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN4.1, HTO1-Lib-RUN4-HTO2-Lib-RUN4
## PC_ 3
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN4.2, HTO1-Lib-RUN4-HTO2-Lib-RUN4.1
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN4.3, HTO1-Lib-RUN4-HTO2-Lib-RUN4
## PC_ 4
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN4, HTO1-Lib-RUN4-HTO2-Lib-RUN4.4
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN4.2, HTO1-Lib-RUN4-HTO2-Lib-RUN4.3
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN4 : 250 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN4.1 : 114 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN4.2 : 197 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN4.3 : 48 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN4.4 : 48 reads
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.
## Picking joint bandwidth of 0.0351
## Picking joint bandwidth of 0.033
## Picking joint bandwidth of 0.0397
## Picking joint bandwidth of 0.042
## Picking joint bandwidth of 0.0407
## Centering and scaling data matrix
## PC_ 1
## Positive: Fstl1, Fbn1, Col5a2, Aebp1, Col3a1, Mmp2, Col1a2, Prrx1, Dcn, Col5a1
## Serping1, Col6a1, Bgn, Pdgfra, Adamts5, Loxl1, C1s1, Lum, Col6a2, Serpinh1
## Bicc1, Antxr1, Sparc, Col1a1, Ccdc80, Pcolce, Fbln1, Adamts2, Htra1, Ddr2
## Negative: Cd74, H2-Aa, H2-Ab1, Ctss, C1qa, Lyz2, C1qb, C1qc, Wfdc17, Igkc
## Ms4a7, Bcl2a1b, Hmgb2, Ccr2, Il1b, Cx3cr1, Il7r, Cd68, Apoe, Irf8
## Cd3g, Cd3d, Cd72, Slamf9, Trem2, Cxcr6, Samsn1, AW112010, Trbc2, Ptprcap
## PC_ 2
## Positive: Cd74, Tnxb, Clec3b, Mfap5, Efemp1, Pcolce2, H2-Aa, Rarres2, Ccl11, H2-Ab1
## Pi16, Pla1a, Ifi205, Ctss, Lpl, Dpt, Serping1, Ogn, Opcml, Htra3
## Medag, Dpep1, C1s1, Adgrd1, Flrt2, Cygb, Vgll3, Tnfaip6, C1ra, Igfbp6
## Negative: Fxyd3, Epcam, Ehf, Cbr2, Muc15, Plet1, Sox9, Cldn7, Krt8, Aqp5
## Atp6v1b1, Cck, Krt18, Wfdc18, Cldn3, Ano1, BC006965, Krt19, Clic6, Pdlim3
## Spint2, Atp1b1, Plb1, Tspan8, Mfge8, Smim22, Car12, Csn3, Nfib, Elf5
## PC_ 3
## Positive: Apod, Cst3, Sdc4, Wfdc18, Fth1, Fxyd3, Mgst1, Ehf, Muc15, Cbr2
## Epcam, Plet1, Cck, Spp1, C3, Atp6v1b1, Aqp5, Dcn, Cldn7, Chil1
## Krt8, Lgals3, Krt19, Mt1, Lcn2, Clic6, Cldn3, BC006965, Csn1s1, C4b
## Negative: Cdh5, Egfl7, Gpihbp1, Emcn, Esam, Flt1, Pecam1, Aqp1, Kdr, Adgrl4
## Sox18, Plvap, Cldn5, Ptprb, Rasip1, Mmrn2, Ednrb, Igfbp3, Adgrf5, Ushbp1
## Cyyr1, Cd93, Sparcl1, Tie1, Rapgef5, Apold1, Sema6d, Sema3f, Ldb2, Mcam
## PC_ 4
## Positive: Pcolce2, Tnxb, Efemp1, Mfap5, Opcml, Clec3b, Scara5, Itih5, Ccl11, Pi16
## Ace, Adgrd1, Cd34, Ly6c1, Dpp4, Pla1a, Cadm3, Ifi205, Sfrp4, Nova1
## Lrrn4cl, Muc15, Plet1, Dpt, Heg1, Apod, Pamr1, Ebf2, Gfpt2, Atp6v1b1
## Negative: Slc7a2, Ecrg4, Il17b, Mgp, Edil3, Postn, Matn2, Matn4, Serpine2, Mme
## Col8a1, Smoc1, Ndufa4l2, Igfbp2, Nrxn1, Gas1, Spon1, Ptn, Slpi, Col12a1
## Col11a1, Pdgfrl, Cxcl14, Bgn, Gpm6b, Ptgfr, Mmp3, Ltbp2, Megf6, Vcan
## PC_ 5
## Positive: S100a8, S100a9, Csf3r, Cxcr2, Hdc, Lrg1, Ifitm1, Clec4e, Igkc, Il1b
## Clec4d, Stfa2l1, Mxd1, Wfdc21, Mmp9, Hp, Slc7a11, Cstdc4, Igha, Neat1
## Fpr2, Ptgs2, Igfbp6, Retnlg, Gda, Sell, Cxcl2, Igfbp5, Apod, Slfn4
## Negative: Top2a, Mki67, Birc5, Pclaf, Nusap1, Prc1, Kif11, Cenpf, Hmmr, Stmn1
## Cdca8, Knl1, Ccna2, Hist1h2ap, Ube2c, Tpx2, Hist1h2ae, Cdca3, Cenpe, Kif15
## Hist1h3c, Hist1h1b, Smc2, Racgap1, Ckap2l, Cdk1, Spc24, Spc25, Aurkb, Aspm
## Computing nearest neighbor graph
## Computing SNN
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 17901
## Number of edges: 588048
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9379
## Number of communities: 15
## Elapsed time: 2 seconds
## [1] "Creating artificial doublets for pN = 5%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 10%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 15%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 20%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 25%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 30%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## NULL
## [1] "Creating 5967 artificial doublets..."
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Computing pANN..."
## [1] "Classifying doublets.."
## 12:07:56 UMAP embedding parameters a = 0.9922 b = 1.112
## 12:07:56 Read 17901 rows and found 20 numeric columns
## 12:07:56 Using Annoy for neighbor search, n_neighbors = 30
## 12:07:56 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 12:07:57 Writing NN index file to temp file C:\Users\Nick\AppData\Local\Temp\RtmpeCnTGZ\file23872e52a8b
## 12:07:57 Searching Annoy index using 1 thread, search_k = 3000
## 12:08:02 Annoy recall = 100%
## 12:08:03 Commencing smooth kNN distance calibration using 1 thread
## 12:08:05 Initializing from normalized Laplacian + noise
## 12:08:06 Commencing optimization for 200 epochs, with 805474 positive edges
## 12:08:22 Optimization finished
## [1] "HTO demultiplexing library 8 of 10"
## [1] "Current library: SCL210816RS_GEX2_Lib_RUN5_reseq-hto"
## [1] "Removed 3 barcodes for having zero HTO counts"
## Normalizing across features
## Centering and scaling data matrix
## Warning in irlba(A = t(x = object), nv = npcs, ...): You're computing too large
## a percentage of total singular values, use a standard svd instead.
## Warning in print.DimReduc(x = reduction.data, dims = ndims.print, nfeatures =
## nfeatures.print): Only 4 dimensions have been computed.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## Warning: Requested number is larger than the number of available items (5).
## Setting to 5.
## PC_ 1
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN5.2, HTO1-Lib-RUN4-HTO2-Lib-RUN5.4
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN5.1, HTO1-Lib-RUN4-HTO2-Lib-RUN5
## PC_ 2
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN5.3, HTO1-Lib-RUN4-HTO2-Lib-RUN5.4
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN5.1, HTO1-Lib-RUN4-HTO2-Lib-RUN5
## PC_ 3
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN5.1, HTO1-Lib-RUN4-HTO2-Lib-RUN5.3
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN5, HTO1-Lib-RUN4-HTO2-Lib-RUN5.2
## PC_ 4
## Positive: HTO1-Lib-RUN4-HTO2-Lib-RUN5.4, HTO1-Lib-RUN4-HTO2-Lib-RUN5.2
## Negative: HTO1-Lib-RUN4-HTO2-Lib-RUN5.3, HTO1-Lib-RUN4-HTO2-Lib-RUN5.1
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN5 : 39 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN5.1 : 144 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN5.2 : 257 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN5.3 : 108 reads
## Cutoff for HTO1-Lib-RUN4-HTO2-Lib-RUN5.4 : 18 reads
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.
## Picking joint bandwidth of 0.0514
## Picking joint bandwidth of 0.0472
## Picking joint bandwidth of 0.0246
## Picking joint bandwidth of 0.0407
## Picking joint bandwidth of 0.0349
## Centering and scaling data matrix
## PC_ 1
## Positive: Ccl3, Lcn2, Pglyrp1, Lyz2, Ctss, Asprv1, Glrx, Ccl4, Ltf, Cstdc4
## Ero1l, Ccl6, AA467197, Retnlg, Fabp5, Ogfrl1, Wfdc18, Il1a, Slpi, Krt18
## Mpeg1, Epcam, Cd74, Clu, Cd68, Cxcl3, Lgals3, Plin2, Tnf, Egln3
## Negative: Serping1, Fstl1, Dcn, Rarres2, Aebp1, Fbn1, Mfap5, Adamts5, C1s1, C1ra
## Loxl1, Mmp2, Col3a1, Cd248, Serpinf1, Clec3b, Efemp1, Pcolce, Tnxb, C4b
## Lum, Serpina3n, Sparc, Abi3bp, Prrx1, Fbln1, Scn7a, Nid1, Itih5, Serpinh1
## PC_ 2
## Positive: Lyz2, Ctss, Ccl3, Ccl4, Tgfbi, Ccl6, Cst3, Cstdc4, Cd74, Mpeg1
## Apoe, Retnlg, Csf1r, Gsn, H2-Ab1, H2-Aa, AA467197, Bcl2a1a, Gpr183, Cxcl3
## S100a4, Cybb, Hexb, Ms4a6c, Aif1, Cd68, Itgax, C1qb, Ifitm6, C1qa
## Negative: Epcam, Cldn3, Cldn7, Fxyd3, Krt8, Plet1, Krt18, Hspb1, Rab25, Krt19
## Cldn4, S100a14, Lgals7, 2200002D01Rik, Wfdc18, Folr1, Rbp1, Elf5, Crabp2, Apoc1
## Ehf, Nupr1, Tmem238, Crb3, Clu, Sox4, S100a1, 1110008P14Rik, Plpp2, Scd2
## PC_ 3
## Positive: C1qa, Aif1, C1qc, C1qb, Gatm, Cd74, Ctss, Cx3cr1, H2-Aa, H2-Ab1
## Ms4a7, Ms4a6c, Pld4, Ctsc, Apoe, Lgmn, Cd72, H2-DMa, Cybb, Fcgr1
## C3ar1, Trem2, Slamf9, Dab2, Hexb, Msr1, Apobec1, H2-Eb1, Dcstamp, H2-DMb1
## Negative: Asprv1, Cst6, Klk6, Klk7, Klk10, Krt7, Cstdc4, Retnlg, S100a6, Elovl4
## Crct1, Sbsn, Padi4, Lcn2, Klk14, Egln3, Endou, Prss27, Chil1, Spink5
## Ppl, Slpi, Sprr1a, Cstdc5, S100a14, Cnfn, Tchh, Calml3, Gsdma, Ero1l
## PC_ 4
## Positive: Cdh5, Egfl7, Emcn, Igfbp3, Esam, Flt1, Gng11, Plvap, Gpihbp1, Ptprb
## Adgrf5, Col4a2, Kdr, Mmrn2, Aqp1, Col4a1, Sema6d, Pecam1, Cd93, Cldn5
## Ecscr, Col18a1, Eng, Mcam, Adgrl4, Ptn, Tie1, Cdh13, Ednrb, Fam167b
## Negative: Ctss, C1qa, Aif1, C1qb, Cd74, C1qc, H2-Ab1, H2-Aa, Ms4a7, Lyz2
## Pld4, Apoe, Ms4a6c, Cx3cr1, Lgals3, Cybb, Mpeg1, Gatm, Axl, Fcgr1
## Cd72, Csf1r, C3ar1, Trem2, H2-Eb1, H2-DMa, Slamf9, Hexb, Msr1, Apobec1
## PC_ 5
## Positive: Csn1s1, Csn3, Csn2, Csn1s2a, Thrsp, Saa1, Fkbp11, Lalba, Cldn7, Btn1a1
## Plb1, Saa2, Muc15, Wfdc3, Mgst1, Wfdc18, Clca3a2, Elf5, Muc4, Krt18
## Krt8, Hspd1, Igfbp5, Cp, Ano1, Hist1h2ap, Trf, Lcn2, Cel, Sox4
## Negative: Klk7, Klk6, Endou, Klk10, Elovl4, Krt80, Prss27, Klk14, Cst6, Klk8
## Gsdma, Sprr1a, Spink5, Asprv1, Crct1, Calml3, Cnfn, Clic3, Arg1, Cysrt1
## Prss22, Tmprss11e, Spink12, Krt23, Sbsn, Padi4, Pof1b, Anxa9, Krt6a, Ly6g6c
## Computing nearest neighbor graph
## Computing SNN
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 13086
## Number of edges: 405603
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9198
## Number of communities: 14
## Elapsed time: 1 seconds
## [1] "Creating artificial doublets for pN = 5%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 10%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 15%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 20%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 25%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 30%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## NULL
## [1] "Creating 4362 artificial doublets..."
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Computing pANN..."
## [1] "Classifying doublets.."
## 12:12:11 UMAP embedding parameters a = 0.9922 b = 1.112
## 12:12:11 Read 13086 rows and found 20 numeric columns
## 12:12:11 Using Annoy for neighbor search, n_neighbors = 30
## 12:12:11 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 12:12:13 Writing NN index file to temp file C:\Users\Nick\AppData\Local\Temp\RtmpeCnTGZ\file238250b3d2b
## 12:12:13 Searching Annoy index using 1 thread, search_k = 3000
## 12:12:16 Annoy recall = 100%
## 12:12:17 Commencing smooth kNN distance calibration using 1 thread
## 12:12:19 Initializing from normalized Laplacian + noise
## 12:12:19 Commencing optimization for 200 epochs, with 583930 positive edges
## 12:12:31 Optimization finished
## [1] "HTO demultiplexing library 9 of 10"
## [1] "Current library: SCL211208RS_GEX1"
## [1] "Removed 1 barcodes for having zero HTO counts"
## Normalizing across features
## Centering and scaling data matrix
## Warning in irlba(A = t(x = object), nv = npcs, ...): You're computing too large
## a percentage of total singular values, use a standard svd instead.
## Warning in irlba(A = t(x = object), nv = npcs, ...): did not converge--results
## might be invalid!; try increasing work or maxit
## Warning: Requested number is larger than the number of available items (6).
## Setting to 6.
## Warning: Requested number is larger than the number of available items (6).
## Setting to 6.
## Warning: Requested number is larger than the number of available items (6).
## Setting to 6.
## Warning: Requested number is larger than the number of available items (6).
## Setting to 6.
## Warning: Requested number is larger than the number of available items (6).
## Setting to 6.
## PC_ 1
## Positive: HTO1-HTO2.5, HTO1-HTO2.1, HTO1-HTO2.3
## Negative: HTO1-HTO2.2, HTO1-HTO2.4, HTO1-HTO2
## PC_ 2
## Positive: HTO1-HTO2.4, HTO1-HTO2.3, HTO1-HTO2.1
## Negative: HTO1-HTO2.2, HTO1-HTO2, HTO1-HTO2.5
## PC_ 3
## Positive: HTO1-HTO2.4, HTO1-HTO2.2, HTO1-HTO2.5
## Negative: HTO1-HTO2, HTO1-HTO2.3, HTO1-HTO2.1
## PC_ 4
## Positive: HTO1-HTO2.3, HTO1-HTO2.5, HTO1-HTO2.1
## Negative: HTO1-HTO2, HTO1-HTO2.2, HTO1-HTO2.4
## PC_ 5
## Positive: HTO1-HTO2.1, HTO1-HTO2.3, HTO1-HTO2.4
## Negative: HTO1-HTO2.5, HTO1-HTO2.2, HTO1-HTO2
## Cutoff for HTO1-HTO2 : 67 reads
## Cutoff for HTO1-HTO2.1 : 188 reads
## Cutoff for HTO1-HTO2.2 : 79 reads
## Cutoff for HTO1-HTO2.3 : 114 reads
## Cutoff for HTO1-HTO2.4 : 37 reads
## Cutoff for HTO1-HTO2.5 : 216 reads
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.
## Picking joint bandwidth of 0.0273
## Picking joint bandwidth of 0.0208
## Picking joint bandwidth of 0.0278
## Picking joint bandwidth of 0.0234
## Picking joint bandwidth of 0.0304
## Picking joint bandwidth of 0.0192
## Centering and scaling data matrix
## PC_ 1
## Positive: Lcn2, Wfdc18, Csn3, Epcam, Trf, Krt8, Krt18, Plet1, Fxyd3, Spint2
## Scgb2b27, Cldn7, Phlda1, Folr1, Car6, Cldn3, 2310057J18Rik, Tyrobp, Kcnn4, Ehf
## Atf3, Fcer1g, Tspan8, Ctss, Rassf3, Lyz2, Cd52, Cxcl2, Scd1, Cited2
## Negative: Col3a1, Col1a2, Sparc, Col1a1, Bgn, Col5a2, Fstl1, Aebp1, Dcn, Col6a1
## Lum, Fbn1, Serpinh1, Serping1, Serpinf1, Mmp2, Ccdc80, Col6a2, Cpxm1, Abi3bp
## Col12a1, Thbs2, Postn, Ctsk, Col6a3, Igfbp7, Col5a1, Ppic, Pcolce, Lox
## PC_ 2
## Positive: Apoe, Lyz2, Tyrobp, Ctss, Fcer1g, C1qa, C1qb, Cd74, C1qc, Ms4a7
## Cxcl2, H2-Ab1, H2-Aa, Wfdc17, Cd52, Ccl4, Mpeg1, Aif1, Il1b, Csf1r
## Cst3, Bcl2a1b, Ctsb, Cx3cr1, Rgs1, Cybb, Ms4a6c, Ccrl2, Selenop, Gatm
## Negative: Epcam, Lcn2, Plet1, Krt8, Krt18, Csn3, Wfdc18, Aqp5, Folr1, Cldn7
## Fxyd3, Spint2, Rps27l, Phlda1, Dbi, Sox4, Cldn3, Slc12a2, 1110008P14Rik, Sox9
## Cald1, Xbp1, Tspan8, Igfbp5, Scd1, Apoc1, Ehf, Ndufa4, 2310057J18Rik, Me1
## PC_ 3
## Positive: Cdh5, Col4a2, Col4a1, Flt1, Gng11, Pecam1, Gpihbp1, Emcn, Plvap, Egfl7
## Aqp1, Kdr, Adgrf5, Ptprb, Igfbp3, Esam, Adgrl4, Cd93, Ptn, Fabp4
## Ets1, Sox18, Igfbp7, Sema6d, Cldn5, Cd200, Sparcl1, Col18a1, Mmrn2, Ramp2
## Negative: Efemp1, C3, C4b, Clec3b, Tnxb, Pi16, Mfap5, Ifi205, Col14a1, Rarres2
## Pcolce2, Igfbp6, Sfrp4, Ccl11, Prg4, C1s1, Cfb, Serping1, Chl1, Serpina3n
## Ptx3, Il33, Adamts5, C1ra, Flrt2, Ly6a, Gpc3, Lbp, Fbln1, Lgi2
## PC_ 4
## Positive: Col11a1, Ecrg4, Crabp1, Matn4, Il17b, Omd, Tnn, Gldn, Megf6, Angptl1
## Itgbl1, Aspn, Cybrd1, Tnmd, Mfap4, Olfml3, Lum, Col12a1, Col1a1, Pdgfrl
## Cdh11, Fmod, Col16a1, Nupr1, Spon1, Tnc, Igsf10, Htra1, Cst3, Cpz
## Negative: Cdh5, Cd34, Ly6c1, Pecam1, Flt1, Gpihbp1, Emcn, Kdr, Egfl7, Ptprb
## Plvap, Esam, Cd93, Adgrl4, Fabp4, Ctla2a, Adgrf5, Sparcl1, Ly6a, Gng11
## Eng, Efemp1, Slfn5, Sox18, Tnxb, Sema6d, Cldn5, Plpp3, Mmrn2, Ramp2
## PC_ 5
## Positive: Krt14, Dsp, S100a14, Krt5, Ly6d, Krt6a, Slpi, Anxa8, Dsg3, Lgals7
## Col17a1, Trim29, Wfdc2, Krt17, Tacstd2, Krt7, Fxyd3, Dmkn, Sfn, Pkp1
## Foxq1, Asprv1, Krt79, Sbsn, Sprr1a, Krt19, Sostdc1, Krt16, Cntfr, Samd5
## Negative: Tesc, 2310057J18Rik, Car6, Cpd, Scgb2b27, Folr1, Slc12a2, Etv1, 1500002F19Rik, 4931406C07Rik
## Cdh5, Col4a1, Col4a2, Socs2, Etnk1, Cd93, Pgp, Plvap, Chn2, Gm21718
## Kcnn4, Flt1, Gpihbp1, Emcn, Pecam1, Cmas, Tspan13, Kdr, Pip, C1qc
## Computing nearest neighbor graph
## Computing SNN
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 30335
## Number of edges: 991438
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9290
## Number of communities: 18
## Elapsed time: 6 seconds
## [1] "Creating artificial doublets for pN = 5%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 10%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 15%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 20%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 25%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 30%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## NULL
## [1] "Creating 10112 artificial doublets..."
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Computing pANN..."
## [1] "Classifying doublets.."
## 12:19:12 UMAP embedding parameters a = 0.9922 b = 1.112
## 12:19:12 Read 30335 rows and found 20 numeric columns
## 12:19:12 Using Annoy for neighbor search, n_neighbors = 30
## 12:19:12 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 12:19:15 Writing NN index file to temp file C:\Users\Nick\AppData\Local\Temp\RtmpeCnTGZ\file2389454743
## 12:19:15 Searching Annoy index using 1 thread, search_k = 3000
## 12:19:24 Annoy recall = 100%
## 12:19:26 Commencing smooth kNN distance calibration using 1 thread
## 12:19:28 Initializing from normalized Laplacian + noise
## 12:19:29 Commencing optimization for 200 epochs, with 1329844 positive edges
## 12:19:56 Optimization finished
## [1] "HTO demultiplexing library 10 of 10"
## [1] "Current library: SCL211208RS_GEX2"
## [1] "Removed 2 barcodes for having zero HTO counts"
## Normalizing across features
## Centering and scaling data matrix
## Warning in irlba(A = t(x = object), nv = npcs, ...): You're computing too large
## a percentage of total singular values, use a standard svd instead.
## Warning in irlba(A = t(x = object), nv = npcs, ...): Requested number is larger
## than the number of available items (6). Setting to 6.
## Warning in irlba(A = t(x = object), nv = npcs, ...): Requested number is larger
## than the number of available items (6). Setting to 6.
## Warning in irlba(A = t(x = object), nv = npcs, ...): Requested number is larger
## than the number of available items (6). Setting to 6.
## Warning in irlba(A = t(x = object), nv = npcs, ...): Requested number is larger
## than the number of available items (6). Setting to 6.
## Warning in irlba(A = t(x = object), nv = npcs, ...): Requested number is larger
## than the number of available items (6). Setting to 6.
## PC_ 1
## Positive: HTO1-HTO2.5, HTO1-HTO2.1, HTO1-HTO2.3
## Negative: HTO1-HTO2.4, HTO1-HTO2.2, HTO1-HTO2
## PC_ 2
## Positive: HTO1-HTO2.4, HTO1-HTO2.5, HTO1-HTO2.1
## Negative: HTO1-HTO2.2, HTO1-HTO2, HTO1-HTO2.3
## PC_ 3
## Positive: HTO1-HTO2, HTO1-HTO2.3, HTO1-HTO2.1
## Negative: HTO1-HTO2.2, HTO1-HTO2.4, HTO1-HTO2.5
## PC_ 4
## Positive: HTO1-HTO2.3, HTO1-HTO2.1, HTO1-HTO2.5
## Negative: HTO1-HTO2, HTO1-HTO2.4, HTO1-HTO2.2
## PC_ 5
## Positive: HTO1-HTO2.1, HTO1-HTO2.5, HTO1-HTO2.2
## Negative: HTO1-HTO2.3, HTO1-HTO2, HTO1-HTO2.4
## Cutoff for HTO1-HTO2 : 69 reads
## Cutoff for HTO1-HTO2.1 : 195 reads
## Cutoff for HTO1-HTO2.2 : 83 reads
## Cutoff for HTO1-HTO2.3 : 121 reads
## Cutoff for HTO1-HTO2.4 : 46 reads
## Cutoff for HTO1-HTO2.5 : 227 reads
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use `guides(<scale> =
## "none")` instead.
## Picking joint bandwidth of 0.028
## Picking joint bandwidth of 0.0217
## Picking joint bandwidth of 0.0275
## Picking joint bandwidth of 0.0239
## Picking joint bandwidth of 0.0314
## Picking joint bandwidth of 0.0209
## Centering and scaling data matrix
## PC_ 1
## Positive: Col3a1, Col1a2, Sparc, Col1a1, Bgn, Col5a2, Fstl1, Aebp1, Dcn, Lum
## Col6a1, Serpinh1, Fbn1, Mmp2, Serping1, Serpinf1, Ccdc80, Col6a2, Cpxm1, Postn
## Col5a1, Abi3bp, Col6a3, Igfbp7, Thbs2, Col12a1, Ctsk, S100a6, Pcolce, Ppic
## Negative: Lcn2, Epcam, Wfdc18, Csn3, Krt8, Trf, Krt18, Plet1, Fxyd3, Cldn7
## Spint2, Phlda1, Folr1, Cldn3, Scgb2b27, Car6, Ly6e, 2310057J18Rik, Kcnn4, Atf3
## Ehf, Tspan8, Lalba, Scd1, Rassf3, Aqp5, Cited2, Elf5, Dbi, Clic6
## PC_ 2
## Positive: Lcn2, Epcam, Krt8, Plet1, Nfib, Krt18, Csn3, Wfdc18, Aqp5, Rps27l
## Folr1, Cldn7, Dbi, Spint2, Phlda1, Fxyd3, Cald1, Sox4, Cldn3, Slc12a2
## 1110008P14Rik, Igfbp5, Xbp1, Sox9, Scd1, Tspan8, 2310057J18Rik, Ndufa4, Etv1, Ehf
## Negative: Apoe, Ctss, Lyz2, Tyrobp, C1qa, Fcer1g, C1qb, Cd74, C1qc, Ms4a7
## Cxcl2, H2-Ab1, H2-Aa, Mpeg1, Cd52, Wfdc17, Csf1r, Ccl4, Aif1, Il1b
## Ctsb, Rgs1, Bcl2a1b, Cst3, Cx3cr1, Cybb, Ms4a6c, Lilrb4a, Gatm, Ccrl2
## PC_ 3
## Positive: Efemp1, C4b, C3, Clec3b, Tnxb, Mfap5, Col14a1, Pi16, Rarres2, Ifi205
## Igfbp6, Ccl11, Pcolce2, Serping1, C1s1, Sfrp4, Serpina3n, Prg4, Cfb, Il33
## Chl1, Lgi2, Ptx3, C1ra, Adamts5, Fbln1, Gpc3, Mgst1, Gpx3, Lbp
## Negative: Cdh5, Flt1, Pecam1, Emcn, Gpihbp1, Plvap, Gng11, Col4a1, Col4a2, Egfl7
## Kdr, Ptprb, Adgrf5, Esam, Cd93, Aqp1, Adgrl4, Fabp4, Sox18, Mmrn2
## Ets1, Sparcl1, Igfbp3, Sema6d, Cldn5, Eng, Ecscr, Ramp2, Ptn, Gimap6
## PC_ 4
## Positive: Cd34, Ly6c1, Cdh5, Pecam1, Efemp1, Flt1, Ly6a, Tnxb, Kdr, Emcn
## Gpihbp1, Egfl7, Clec3b, C3, Slfn5, Ptprb, Ebf1, Cd93, Heg1, Plpp3
## C4b, Esam, Fabp4, Plvap, Ctla2a, Adgrl4, Pi16, Pcolce2, Sparcl1, Ifi205
## Negative: Col11a1, Ecrg4, Crabp1, Matn4, Il17b, Omd, Tnn, Gldn, Megf6, Itgbl1
## Angptl1, Aspn, Cybrd1, Tnmd, Col16a1, Mfap4, Olfml3, Igfbp5, Fmod, Tnc
## Col12a1, Nupr1, Lum, Igsf10, Cdh11, Htra1, Col1a1, Pdgfrl, Wnt5a, Postn
## PC_ 5
## Positive: Krt14, Dsp, Ly6d, S100a14, Krt5, Krt6a, Slpi, Dsg3, Lgals7, Anxa8
## Krt17, Wfdc2, Tacstd2, Col17a1, Fxyd3, Trim29, Krt7, Sfn, Dmkn, Pkp1
## Foxq1, Asprv1, Krt79, Sbsn, Krt16, Sprr1a, Trp63, Dsc3, Serpinb5, Perp
## Negative: Car6, Scgb2b27, 2310057J18Rik, Tesc, Chn2, Scgb1b27, Slc12a2, Cpd, 4931406C07Rik, 1500002F19Rik
## Gm21718, Pip, Etv1, Folr1, Socs2, Etnk1, Mup5, Kcnn4, Col4a2, Pigr
## Col4a1, Pgp, Cdh5, Tspan13, Thrsp, Plvap, Arfgef3, Nucb2, Tspan1, Xbp1
## Computing nearest neighbor graph
## Computing SNN
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 29870
## Number of edges: 968584
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9237
## Number of communities: 17
## Elapsed time: 6 seconds
## [1] "Creating artificial doublets for pN = 5%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 10%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 15%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 20%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 25%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## [1] "Creating artificial doublets for pN = 30%"
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Defining neighborhoods..."
## [1] "Computing pANN across all pK..."
## [1] "pK = 5e-04..."
## [1] "pK = 0.001..."
## [1] "pK = 0.005..."
## [1] "pK = 0.01..."
## [1] "pK = 0.02..."
## [1] "pK = 0.03..."
## [1] "pK = 0.04..."
## [1] "pK = 0.05..."
## [1] "pK = 0.06..."
## [1] "pK = 0.07..."
## [1] "pK = 0.08..."
## [1] "pK = 0.09..."
## [1] "pK = 0.1..."
## [1] "pK = 0.11..."
## [1] "pK = 0.12..."
## [1] "pK = 0.13..."
## [1] "pK = 0.14..."
## [1] "pK = 0.15..."
## [1] "pK = 0.16..."
## [1] "pK = 0.17..."
## [1] "pK = 0.18..."
## [1] "pK = 0.19..."
## [1] "pK = 0.2..."
## [1] "pK = 0.21..."
## [1] "pK = 0.22..."
## [1] "pK = 0.23..."
## [1] "pK = 0.24..."
## [1] "pK = 0.25..."
## [1] "pK = 0.26..."
## [1] "pK = 0.27..."
## [1] "pK = 0.28..."
## [1] "pK = 0.29..."
## [1] "pK = 0.3..."
## NULL
## [1] "Creating 9957 artificial doublets..."
## [1] "Creating Seurat object..."
## [1] "Normalizing Seurat object..."
## [1] "Finding variable genes..."
## [1] "Scaling data..."
## Centering and scaling data matrix
## [1] "Running PCA..."
## [1] "Calculating PC distance matrix..."
## [1] "Computing pANN..."
## [1] "Classifying doublets.."
## 12:26:29 UMAP embedding parameters a = 0.9922 b = 1.112
## 12:26:29 Read 29870 rows and found 20 numeric columns
## 12:26:29 Using Annoy for neighbor search, n_neighbors = 30
## 12:26:29 Building Annoy index with metric = cosine, n_trees = 50
## 0% 10 20 30 40 50 60 70 80 90 100%
## [----|----|----|----|----|----|----|----|----|----|
## **************************************************|
## 12:26:32 Writing NN index file to temp file C:\Users\Nick\AppData\Local\Temp\RtmpeCnTGZ\file2384bb366b4
## 12:26:32 Searching Annoy index using 1 thread, search_k = 3000
## 12:26:41 Annoy recall = 100%
## 12:26:43 Commencing smooth kNN distance calibration using 1 thread
## 12:26:45 Initializing from normalized Laplacian + noise
## 12:26:46 Commencing optimization for 200 epochs, with 1319888 positive edges
## 12:27:12 Optimization finished
curr_so <- NULL
gc()
## used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 8789697 469.5 13718758 732.7 13718758 732.7
## Vcells 1089373137 8311.3 3112818475 23749.0 4052828756 30920.7
Save output
saveRDS(so_list,
file = 'analysis_files/s1_seurat_list.rds')
sessionInfo()
sessionInfo()
## R version 4.1.1 (2021-08-10)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 19044)
##
## Matrix products: default
##
## locale:
## [1] LC_COLLATE=English_United States.1252
## [2] LC_CTYPE=English_United States.1252
## [3] LC_MONETARY=English_United States.1252
## [4] LC_NUMERIC=C
## [5] LC_TIME=English_United States.1252
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] ROCR_1.0-11 KernSmooth_2.23-20 fields_13.3
## [4] viridis_0.6.2 viridisLite_0.4.0 spam_2.8-0
## [7] SoupX_1.5.2 DoubletFinder_2.0.3 ggalluvial_0.12.3
## [10] SeuratWrappers_0.3.0 rliger_1.0.0 patchwork_1.1.1
## [13] cowplot_1.1.1 SeuratObject_4.0.4 Seurat_4.1.0
## [16] forcats_0.5.1 stringr_1.4.0 dplyr_1.0.8
## [19] purrr_0.3.4 readr_2.1.2 tidyr_1.2.0
## [22] tibble_3.1.6 ggplot2_3.3.5 tidyverse_1.3.1
## [25] Matrix_1.3-4
##
## loaded via a namespace (and not attached):
## [1] readxl_1.3.1 backports_1.3.0 plyr_1.8.6
## [4] igraph_1.2.7 lazyeval_0.2.2 splines_4.1.1
## [7] entropy_1.3.1 listenv_0.8.0 scattermore_0.8
## [10] digest_0.6.27 foreach_1.5.2 htmltools_0.5.2
## [13] fansi_1.0.2 magrittr_2.0.1 tensor_1.5
## [16] cluster_2.1.2 doParallel_1.0.17 remotes_2.4.2
## [19] tzdb_0.2.0 globals_0.14.0 modelr_0.1.8
## [22] matrixStats_0.61.0 vroom_1.5.7 R.utils_2.11.0
## [25] spatstat.sparse_2.1-0 rmdformats_1.0.3 colorspace_2.0-3
## [28] rvest_1.0.2 ggrepel_0.9.1 haven_2.4.3
## [31] xfun_0.29 crayon_1.5.0 jsonlite_1.7.2
## [34] spatstat.data_2.1-2 survival_3.2-11 zoo_1.8-9
## [37] iterators_1.0.14 glue_1.6.1 polyclip_1.10-0
## [40] gtable_0.3.0 leiden_0.3.9 future.apply_1.8.1
## [43] maps_3.4.0 abind_1.4-5 scales_1.1.1
## [46] DBI_1.1.2 spatstat.random_2.1-0 miniUI_0.1.1.1
## [49] Rcpp_1.0.7 riverplot_0.10 xtable_1.8-4
## [52] reticulate_1.24 spatstat.core_2.4-0 rsvd_1.0.5
## [55] mclust_5.4.9 bit_4.0.4 dotCall64_1.0-1
## [58] htmlwidgets_1.5.4 httr_1.4.2 FNN_1.1.3
## [61] RColorBrewer_1.1-2 ellipsis_0.3.2 ica_1.0-2
## [64] farver_2.1.0 R.methodsS3_1.8.1 pkgconfig_2.0.3
## [67] sass_0.4.0 uwot_0.1.11 dbplyr_2.1.1
## [70] deldir_1.0-6 utf8_1.2.2 labeling_0.4.2
## [73] tidyselect_1.1.2 rlang_1.0.1 reshape2_1.4.4
## [76] later_1.3.0 munsell_0.5.0 cellranger_1.1.0
## [79] tools_4.1.1 cli_3.1.1 generics_0.1.2
## [82] broom_0.7.12 ggridges_0.5.3 evaluate_0.15
## [85] fastmap_1.1.0 yaml_2.3.5 goftest_1.2-3
## [88] bit64_4.0.5 knitr_1.37 fs_1.5.2
## [91] fitdistrplus_1.1-6 RANN_2.6.1 pbapply_1.5-0
## [94] future_1.24.0 nlme_3.1-152 mime_0.12
## [97] R.oo_1.24.0 xml2_1.3.3 hdf5r_1.3.5
## [100] compiler_4.1.1 rstudioapi_0.13 plotly_4.10.0
## [103] png_0.1-7 spatstat.utils_2.3-0 reprex_2.0.1
## [106] bslib_0.3.1 stringi_1.7.6 highr_0.9
## [109] RSpectra_0.16-0 lattice_0.20-44 vctrs_0.3.8
## [112] pillar_1.7.0 lifecycle_1.0.1 BiocManager_1.30.16
## [115] spatstat.geom_2.3-2 lmtest_0.9-39 jquerylib_0.1.4
## [118] RcppAnnoy_0.0.19 data.table_1.14.2 irlba_2.3.5
## [121] httpuv_1.6.5 R6_2.5.1 bookdown_0.24
## [124] promises_1.2.0.1 gridExtra_2.3 parallelly_1.30.0
## [127] codetools_0.2-18 MASS_7.3-54 assertthat_0.2.1
## [130] withr_2.5.0 sctransform_0.3.3 mgcv_1.8-36
## [133] parallel_4.1.1 hms_1.1.1 grid_4.1.1
## [136] rpart_4.1-15 rmarkdown_2.11 Rtsne_0.15
## [139] shiny_1.7.1 lubridate_1.8.0